恢复具有特定ID的MySQL项目

时间:2013-08-02 19:29:02

标签: php mysql

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

<?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>

1 个答案:

答案 0 :(得分:0)

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

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

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