Avatar billede til_dkmaster Nybegynder
10. december 2008 - 21:23 Der er 5 kommentarer og
1 løsning

Menu tree script og MySQL problem

Hej, jeg har et problem med at stykke script:::

<? include("db.php");
$result = mysql_query("SELECT * FROM $menuid order by nr") or die (mysql_error());
while($row = mysql_fetch_array($result)){

echo "<DIV id=div$row[nr] onclick=expand($row[nr]) onmouseover=farve($row[nr]) onmouseout=ikfarve($row[nr])>";
echo "<BR><STRONG>$row[oversigt]</STRONG><br>";
echo "</div>";

$id = $row[id];
$result1 = mysql_query("SELECT * FROM $menu WHERE menuer = '$id' order by nr") or die (mysql_error());
while($row1 = mysql_fetch_array($result1)){
echo "<DIV id=box$row[nr] style='DISPLAY: yes' noWrap>";
echo "&nbsp;&nbsp;<a href=iframe.php?site=$row1[tableid]&start=$row1[tableid] target=iframename>$row1[oversigt]</a><BR>";
echo "</DIV>";
}}
?>




Menu -> Når der klikkes herpå forsvinder linkene neden under
  Underemne -> Men der er kun denne som forsvinder!
  Underemne2
  Underenme3

osv...



echo "<DIV id=div$row[nr] onclick=expand($row[nr]) onmouseover=farve($row[nr]) onmouseout=ikfarve($row[nr])>";
echo "<BR><STRONG>$row[oversigt]</STRONG><br>";

echo "</div>";
Problemet med være den overstående linie, som bliver udskrevet inden MySQL connect afsluttes ...

Men hvis jeg gør følgende:


$result = mysql_query("SELECT * FROM $menuid order by nr") or die (mysql_error());
while($row = mysql_fetch_array($result)){

echo "<DIV id=div$row[nr] onclick=expand($row[nr]) onmouseover=farve($row[nr]) onmouseout=ikfarve($row[nr])>";
echo "<BR><STRONG>$row[oversigt]</STRONG><br>";
}
echo "</div>";

$id = $row[id];
$result1 = mysql_query("SELECT * FROM $menu WHERE menuer = '$id' order by nr") or die (mysql_error());
while($row1 = mysql_fetch_array($result1)){
echo "<DIV id=box$row[nr] style='DISPLAY: yes' noWrap>";
echo "&nbsp;&nbsp;<a href=iframe.php?site=$row1[tableid]&start=$row1[tableid] target=iframename>$row1[oversigt]</a><BR>";
}
echo "</DIV>";


Bliver menuerne ikke vist korrekt :(
Avatar billede til_dkmaster Nybegynder
10. december 2008 - 21:24 #1
"""Problemet må være den overstående linie, som bliver udskrevet inden MySQL connect afsluttes ..."""


NB:
Scriptet virker, hvis indtasterne overskrift og link manuelt, det er når de trækkes ud fra MySQL det går galt :(
Avatar billede dkfire Nybegynder
11. december 2008 - 08:57 #2
Har du et link til siden ???

Hvordan ser din html kode ud nu og hvordan vil du gerne have den til at se ud ??
Avatar billede til_dkmaster Nybegynder
11. december 2008 - 19:07 #3
<SCRIPT language=JavaScript type=text/javascript>
function expand(ThisID){
    if(document.getElementById('box' + ThisID).style.display == 'none') {
        document.getElementById('box' + ThisID).style.display = 'block';
    }
    else {
        document.getElementById('box' + ThisID).style.display = 'none';
    }
    return false;
    void(0);
}
function farve(ThisID){
    document.getElementById('div' + ThisID).style.color = "#9B712F";
    document.getElementById('div' + ThisID).style.textDecoration = "none";
    document.getElementById('div' + ThisID).style.cursor = "hand";
}
function ikfarve(ThisID){
    document.getElementById('div' + ThisID).style.color = "black";
    document.getElementById('div' + ThisID).style.textDecoration = "none";
}

</SCRIPT>



<span style="font-size:8pt;"><font face="Tahoma">
<? include("db.php");
$result = mysql_query("SELECT * FROM $menuid order by nr") or die (mysql_error());
while($row = mysql_fetch_array($result)){

echo "<DIV id=div$row[nr] onclick=expand($row[nr]) onmouseover=farve($row[nr]) onmouseout=ikfarve($row[nr])>";
echo "<BR><STRONG>$row[oversigt]</STRONG><br />";
echo "</div>";

$id = $row[id];
$result1 = mysql_query("SELECT * FROM $menu WHERE menuer = '$id' order by nr") or die (mysql_error());
while($row1 = mysql_fetch_array($result1)){
echo "<DIV id=box$row[nr] style='DISPLAY: yes' noWrap>";
echo "&nbsp;&nbsp;<a href=iframe.php?site=$row1[tableid]&start=$row1[tableid] target=iframename>$row1[oversigt]</a><BR>";
echo "</DIV>";
}}
?>
</span></font>
Avatar billede til_dkmaster Nybegynder
11. december 2008 - 19:08 #4
Avatar billede til_dkmaster Nybegynder
11. december 2008 - 19:11 #5
Hvis vi set på første link:

<DIV id=box0 style='DISPLAY: yes' noWrap>&nbsp;&nbsp;<a href=iframe.php?site=DOS10&start=DOS10 target=iframename>PC-DOS 1.0</a><BR></DIV>

Så afsluttes den ved "PC-DOS 1.0" med </DIV>
- Men </DIV> skal først komme efter: "Windows on DOS"


_____
echo "<DIV id=div$row[nr] onclick=expand($row[nr]) onmouseover=farve($row[nr]) onmouseout=ikfarve($row[nr])>";
echo "<BR><STRONG>$row[oversigt]</STRONG><br />";
echo "</div>";  -> Fejlen er her, den skal afsluttes, men hvordan?
                   
hvis jeg bruger " } " -> efter echo "<BR><STRONG>$row[oversigt]</STRONG><br />";
bliver menuen ikke udskrevet korrekt :(
______
Avatar billede til_dkmaster Nybegynder
11. december 2008 - 19:54 #6
<? include("db.php");
$result = mysql_query("SELECT * FROM $menuid order by nr") or die (mysql_error());
while($row = mysql_fetch_array($result)){

echo "<DIV id=div$row[nr] onclick=expand($row[nr]) onmouseover=farve($row[nr]) onmouseout=ikfarve($row[nr])>";
echo "<BR><STRONG>$row[oversigt]</STRONG><br />";
echo "</div>";
echo "<DIV id=box$row[nr] style='DISPLAY: yes' noWrap>";

$id = $row[id];
$result1 = mysql_query("SELECT * FROM $menu WHERE menuer = '$id' order by nr") or die (mysql_error());
while($row1 = mysql_fetch_array($result1)){

echo "&nbsp;&nbsp;<a href=iframe.php?site=$row1[tableid]&start=$row1[tableid] target=iframename>$row1[oversigt]</a><BR>";
}
echo "</DIV>";
}

?>


Fandt selv løsningen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester