有人请告诉我我做错了什么吗?我是新手使用phpMyAdmin和db。
我有一个包含4个项目的数据库表。在一个简单的PHP页面上看起来很好 - 我按正确的顺序得到所有四个项目。
但如果我使用如下所示的编码<ul class="column"><li><div class="imgblock">
,我会在db表中找到我最后一个条目的4个重复项。我想我必须重新安排我如何使用“,”和/等等?不确定如何......
<?php
// Make a MySQL Connection
mysql_connect("localhost", "....", "....") or die(mysql_error());
mysql_select_db("....") or die(mysql_error());
$show = "SELECT pn, pgname, img, name, price FROM prodshort";
$result = mysql_query ($show);
while ($show = mysql_fetch_array ($result))
{
$field2= $show['pn'];
$field3= $show['pgname'];
$field4= $show['img'];
$field5= $show['name'];
$field6= $show['price'];
$field7= $show['specs'];
}
?>
<!-- start -->
<ul class="column"><li><div class="imgblock">
<a href="<?echo "$field3";?>">
<img src="<?echo "$field4";?>" width="320" height="240" alt="<?echo "$field5";?>" /></a></div><br />
<a href="<?echo "$field3";?>"><?echo "$field5";?></a>
<ul class="specs">
<?echo "$field7";?></ul>
<div class="price">
#<?echo "$field2";?> $<?echo "$field6";?>
</div></li></ul>
<!-- end -->
答案 0 :(得分:2)
以上可能不是示例中的代码,因为while循环不在您的项目中。
应该更像这样:
while ($show = mysql_fetch_array ($result)) {
$field2= $show['pn'];
$field3= $show['pgname'];
$field4= $show['img'];
$field5= $show['name'];
$field6= $show['price'];
$field7= $show['specs'];
?>
<!-- start -->
<ul class="column">
<li>
<div class="imgblock">
<a href="<?echo "$field3";?>">
<img src="<?echo "$field4";?>" width="320" height="240" alt="<?echo "$field5";?>" />
</a>
</div>
<br />
<a href="<?echo "$field3";?>"><?echo "$field5";?></a>
<ul class="specs">
<?echo "$field7";?>
</ul>
<div class="price">
#<?echo "$field2";?> $<?echo "$field6";?>
</div>
</li>
</ul>
<!-- end -->
<?
// end of while loop
}
?>
(如果您正确缩进代码,您可能会发现调试更容易,大多数编辑都是免费执行此操作; - )