【问题标题】:Getting Duplicates from phpMyAdmin Database Table从 phpMyAdmin 数据库表中获取重复项
【发布时间】:2012-02-25 13:01:33
【问题描述】:

请有人告诉我我做错了什么吗?我是使用 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";?>&nbsp;&nbsp;&nbsp;$<?echo "$field6";?>
</div></li></ul>
<!-- end -->

【问题讨论】:

  • 您应该在 while 循环中显示项目。您在 WHILE 循环中为变量设置一些值并覆盖现有变量。这意味着在循环结束时,您拥有从最后一个数据库记录中获取的数据的变量。或者我错了,因为你没有发布完整的代码。
  • 这和phpMyAdmin有什么关系?

标签: php sql database html phpmyadmin


【解决方案1】:

上面可能不是示例中的代码,因为 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
}
?>

(如果您正确缩进代码,您可能会发现更容易调试,大多数编辑器都是免费的;-)

【讨论】:

  • 我会尝试 konsolenfreddy 的建议。
  • 谢谢,康索伦弗雷迪。那工作得很好。我还有一个问题 - 如果我想将数据插入到我的 db 表中,但不希望它出现在我上面的 php 页面中,我应该使用另一个表吗?这将是我尚未准备好列出的库存。
  • 我个人会将它放在同一张表中,并设置像hidden 这样的字段。查询所有具有hidden &lt; 1 的条目。另请参阅FAQ 接受答案。
猜你喜欢
  • 2016-04-01
  • 2021-12-12
  • 2019-08-09
  • 2018-04-14
  • 2013-08-18
  • 1970-01-01
  • 2014-01-26
  • 2019-01-08
  • 1970-01-01
相关资源
最近更新 更多