0

我目前有一个数据库,其中存储有特定 ID(EventCode)的项目。当我尝试用他们的唯一 ID 在我的网站上显示它们时,一切都搞砸了。有些项目没问题,并正确显示 A、B、C 和 D。其他一些项目显示与其他事件相同的 A、B、C 和 D。当我查看每个项目的 EventCode 时,它​​是一个不同的代码......所以关于下面的代码,我的问题是什么?为什么有些项目完美地显示了它们应该显示的内容,而另一些显示的项目与已经创建的项目相同?

<?php
include('base.php');
?>

<?php
if(isset($_GET['EventCode']))
{
     $EventCode = intval($_GET['EventCode']);
     $dn = mysql_query("select A, B, C, D from users_event where EventCode=$EventCode ");
     if(mysql_num_rows($dn)>0)
     {
             $dnn = mysql_fetch_array($dn);
     ?>
 This is the profile of "<?php echo htmlentities($dnn['A']); ?>" :
 <table style="width:500px;">
     <tr>
     <td><?php
 if($dnn['B']!='')
{
     echo '<img src="'.htmlentities($dnn['B']).'" alt="B" style="max-width:100px;max-height:100px;" />';
}
else
{
     echo 'B is not existing.';
}
?>
</td>
     <td class="left"><h1><?php echo htmlentities($dnn['C']); ?></h1>
     Field: <?php echo htmlentities($dnn['D']); ?><br />
      </tr>
 </table>
<?php
     }
     else
     {
             echo 'Sorry, no record found.';
     }
}
else
{
     echo 'No item found';
}
?>
                      </body>
</html>
4

1 回答 1

0

如果$EventCode不是唯一的,您只会获得“第一条”记录,因为您没有迭代您的结果集。

如果要列出所有记录: - 执行while ($dnn = mysql_fetch_array($dn)) { /*...*/ }

如果您只想要一条记录: - 使用唯一键或组合。或者,您可以订购和限制您的查询。

于 2013-08-02T20:02:21.340 回答