2011-05-05 35 views
1

我有我需要从我的“菜单”表中回显的url列表。这是我到目前为止,但我似乎无法弄清楚其余的。下面的URL显然是用来显示原始HTML的格式。mysql_fetch_array with while循环来回显URL列表

<?php 

    $results = mysql_query("SELECT * FROM menu WHERE level='$level'"); 
    $row = mysql_fetch_array($results); 

    ?> 
     <li><a href="http://website.com/webservices/admin/achievments.php" target="ifrm">Achievments</a></li> 
     <li><a href="http://website.com/webservices/admin/avatar.php" target="ifrm">Avatar</a></li> 

.... more urls .... 
+0

你能告诉我们表结构 – mcgrailm 2011-05-05 16:30:42

+0

我很确定他们都是正确的。 nomaD的回答对我来说很舒服。多谢你们。 – 2011-05-05 17:00:00

回答

2

你需要做的是在一个循环中,通常是一个while循环:

<?php 

$results = mysql_query("SELECT * FROM menu WHERE level='$level'"); 
while ($row = mysql_fetch_array($results)) { 
    echo'<li><a href="'.$row['uri'].'" target="ifrm">'.$row['name'].'</a></li>'; 
} 
?> 

我对你的列名(uriname)即兴的,他们可能会是不同的东西。

0

关闭。就我个人而言,我会用它放入一个while循环来读取所有的值。然后逐一回应。

while($row = mysql_fetch_array($results)){ 
echo "<a href = \"". $row['fieldtouse'] . "\" />". $row['textforlink'] . "<a/>"; 
} 

这就是主意。循环播放结果。回声结果。

0

我相信这是迭代结果列表的简单情况。而当你已经提到的,你不应该使用一个单一的mysql_fetch_array,但在这样的循环:

while ($row = mysql_fetch_array($results)) { 

    print "<li><a href='.../$row[0]' target='evil'>$row[1]</a></li>"; 

} 

现在$行[0]和$行[1]将不得不进行调整。首选mysql_fetch_assoc以获得命名结果列,然后应用$row[url]$row[title]而不是数字键。