2012-02-02 102 views
0

有人会告诉我我做错了什么吗?我是使用phpMyAdmin和db的新手。从phpMyAdmin数据库获取重复表

我有一个数据库表4项。在一个普通的PHP页面上看起来很好 - 我按正确的顺序得到所有四个项目。

但是,如果我使用如下所示的编码<ul class="column"><li><div class="imgblock">,我会在数据库表中获得最后一个条目的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";?>&nbsp;&nbsp;&nbsp;$<?echo "$field6";?> 
</div></li></ul> 
<!-- end --> 
+0

你应该在while循环中显示项目,并设置som e值赋予WHILE循环内的变量并覆盖现有的变量。这意味着在循环结束时,您有从最后一个数据库记录中获取数据的变量。或者我错了,因为你没有发布完整的代码。 – 2012-02-02 20:59:29

+0

这和phpMyAdmin有什么关系? – JJJ 2012-02-02 21:01:09

回答

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";?>&nbsp;&nbsp;&nbsp;$<?echo "$field6";?> 
     </div> 
    </li> 
</ul> 
<!-- end --> 
<? 
// end of while loop 
} 
?> 

(您可能会发现,如果你正确地缩进代码更容易调试,大部分的编辑做免费;-)

+0

我会尝试konsolenfreddy建议的。 – acvintage 2012-02-02 21:25:57

+0

Thx,konsolenfreddy。这工作完美。我还有一个问题 - 如果我想插入数据到我的数据库表,但不希望它出现在我的PHP页面上面,我应该使用另一个表?这将是我还没有准备好列出的清单。 – acvintage 2012-02-02 22:09:01

+1

我个人会把它放在同一个表中,并设置一个像'hidden'这样的字段。查询所有具有隐藏<1'的条目。另请参阅有关接受答案的[常见问题]。 – konsolenfreddy 2012-02-03 06:17:59