Johny
Johny

Reputation: 175

Drop down menu error-display error

i'm in the middle of creating a website and i want to creat a dynamic dropdown menu.The problem is that when i load the entries from the database only the first entry is displayed correctly , the other entries in the menu are displayed as code. I'm using Xamp with PHP 5.3 and HeidiSql.This is my code :

<div id="1" class="mega solidblocktheme">

<div class="column">
 <ul>
 <li><a href="<?php include('../conect.php'); $result=mysql_query("SELECT * FROM tours");
    while($data=mysql_fetch_row($result)) 
        { echo $data[2]; ?>"> <?php echo $data[1];  
          echo "</a></li>";  }
         mysql_close($con);?>
 </ul>
 </div>

</div>

Upvotes: 1

Views: 64

Answers (2)

adi rohan
adi rohan

Reputation: 806

You should not do it this way .

while($data=mysql_fetch_row($result)) { echo $data[2]; ?>"> echo ""; }

For every loop , you are just adding content and close tags </a> and </li> But you are not adding start tags for them .

What you can do is , first store your data result in a string

include('../conect.php'); 
$result=mysql_query("SELECT * FROM tours");
$data=mysql_fetch_row($result);
mysql_close($con); 

$list = "";
foreach($data as $data_key) {
$list.= '<li><a href="'.data[2].'"> '.$data[1].' </a></li>';
}

So now you got your list

After that comes your HTML , just echo your built string

<div id="1" class="mega solidblocktheme">

<div class="column">
 <ul>

<?php 
echo $list;    
?>
 </ul>
 </div>

</div>

Upvotes: 0

1615903
1615903

Reputation: 34732

Your loop seems to be in the wrong place. Try something like this:

<ul>
<?php include('../conect.php'); 
$result=mysql_query("SELECT * FROM tours");
    while($data=mysql_fetch_row($result)) 
    { 
         echo '<li><a href="'.$data[2].'">'.$data[1];  
         echo "</a></li>";  
    }
    mysql_close($con);?>
</ul>

Upvotes: 1

Related Questions