我对mysql_fetch_array()
和while
循环有疑问。我有查询:
$tagsquery = mysql_query("SELECT `url` FROM `tags`, `mapa-tagow`, `statusy` WHERE `tags`.`id` = `mapa-tagow`.`tag-id` AND `statusy`.`id` = `mapa-tagow`.`article-id` AND `tags`.`tag` ='$tag' ORDER BY `url` ASC ") or die("ERROR: Tags doesn't exist.");
导致while循环:
while($tags = mysql_fetch_array($tagsquery)) {
echo "<a href='tags.php?url=$url'>$url</a>, ";
}
在PHPMyAdmin中测试此查询时,我得到的结果比PHP中的结果多一个。我不知道为什么PHP总是缺少第一个结果。
答案 0 :(得分:3)
一些可能性:
while
循环另外,您应该构建一个标记链接数组,然后使用implode ... while(){ $tag_links[] = '<a href...';} print implode(', ', $tag_links);
答案 1 :(得分:1)
您需要将代码更改为:
while($tags = mysql_fetch_array($tagsquery)) {
echo '<a href="tags.php?url='.$tags['url'].'">'.$tags['url'].'</a>, ';
}
请注意,我借此机会更正了标记输出,还有许多其他输出HTML的方法,但在大多数情况下这更容易阅读。
如果您无法发现问题,我将您的$ url更改为$ tags ['url'],因此我输出了您从mysql_fetch_array()
获得的$ tag中的URL干杯