Monday, January 16, 2012

drop-down navigation menu with HTML PHP MySQL


EDIT FIXED by user @jeroen You have to move the li and a tags inside the while loop.



Thank you for this, F4LLCON



So the final code (not so clean, but works now):




<?php
$query = mysql_query("SELECT * FROM `apps` ");
while ($query_row = mysql_fetch_assoc($query))
{
?>
<li><a href="">
<?php
echo $query_row['TITLE'];
?>
</a>
</li>
<br />
<?php
}
?>



I want a drop-down menu that will show the TITLES out of my MySQL database. I know how to do everything concerning the ID etc.



The only problem is that the PHP version of the drop-down menu will SELECT all the TITLES in my database and parse it as ONE link.



So instead of




Home
>About
>Contact
>Another



it will look like




Home
>About
Contact
Another



With other words




Home
>About Contact Another



It will not make multiple drop-down links but only one drop-down link



If you for example do:




<div>
<?php
echo $query_row['TITLE'];
?>
</div>



It will make a individual <div></div> for every TITLE in my database, so I thought this method would also work for the drop-down links..



Does anybody know how to fix it so it will make individual <li></li> for every TITLE?



Here is a normal drop-down menu:




<li id="media"><a href=""></a>
<ul>
<li id="1a"><a href="">About</a></li>
<li id="1b"><a href="">Contact</a></li>
<li id="1b"><a href="">Another</a></li>
</ul>
</li>



And here is the PHP drop-down menu:




<li id="media"><a href=""></a>
<ul>
<li>
<a href="">
<?php
$query = mysql_query("SELECT * FROM `apps` ");
while ($query_row = mysql_fetch_assoc($query))
{
echo $query_row['TITLE'];
?>
<br />
<?php
}
?>
</a>
</li>
</ul>
</li>

2 comments:

  1. You have to move the li and a tags inside the while loop.

    echo '<li><a href="">' . $query_row['TITLE'] . '</a></li>';

    ReplyDelete
  2. <li id="media"><a href=""></a>
    <ul>
    <?php
    $query = mysql_query("SELECT * FROM `apps` ");
    while ($query_row = mysql_fetch_assoc($query))
    {
    echo "<li><a href=''>" . $query_row['TITLE'] ."</a></li>";
    }
    </ul>
    </li>

    ReplyDelete