我的 pdo 结果在表中重复

Posted

技术标签:

【中文标题】我的 pdo 结果在表中重复【英文标题】:My pdo results are duplicating in Tables 【发布时间】:2016-03-23 07:00:51 【问题描述】:

我有一个排行榜,它告诉我人们的钱(用于测试目的的虚拟货币)在哪些方面处于领先地位。 所以它起作用了,它通过 PDO (PHP Data Objects) 显示我的表中的所有内容。

问题是,我让它在表格中输出。但是对于每个 id,都会创建第二个这样的表:

我正在使用的代码:

<?php 
$db = new PDO('mysql:host=localhost;dbname=test1','root','####'); 

$sql = "SELECT naam, id, days, money FROM user ORDER BY money DESC "; 
$results = $db->query($sql); 



foreach($results as $row) 
 

?>


<html>
<head>



</head>
<body>
<TABLE BORDER="5"    WIDTH="100%"   CELLPADDING="4" CELLSPACING="3">
   <TR>
      <TH><BR><H3>POINTS LEADERBOARD</H3>
      </TH>
   </TR>
   <TR>
      <TH>Username</TH>
      <TH>Money</TH>
      <TH>Days</TH>
   </TR>
   <TR>
      <TD><?php echo $row['naam']; ?></TD>
      <TD><?php echo $row['money']?></TD>
      <TD><?php echo $row['days']?></TD>
   </TR>
</TABLE>

<?php
/*
echo "<table>";
echo "<TR>";
    echo "<TH><BR><H3>POINTS LEADERBOARD</H3>";
    echo "</TH>";
echo "</TR>";

echo "<TR>";
echo "<TH>Username</TH>";
echo "<TH>Money</TH>";
echo "<TH>Days</TH>";
echo "</TR>";

echo "<TR>";
    echo "<TD>";    echo $row['naam']; echo "</TD>";
    echo "<TD>";    echo $row['money']; echo "</TD>";
    echo "<TD>";    echo $row['days']; echo "</TD>";
echo "</TR>";
echo "</table>";
*/
?>




<?php  ?>
</body>
</html>

谁能帮助我或告诉我我做错了什么?

谢谢!

【问题讨论】:

请显示html周围的代码,例如循环 不可能是整个脚本 不,我现在更新了 请不要在外部网站上发布代码。目前尚不清楚您的代码将在那里停留多长时间。这将使您的问题(及其可能的解决方案)无法被未来的观众理解。 我知道,每次我尝试发布我的代码时,它都会格式化它编译过的代码...... 【参考方案1】:

你在循环中打开 html 等标签的方式是错误的 - 可能是这样的?

<?php 
    $db = new PDO('mysql:host=localhost;dbname=test1','root','####'); 
    $sql = 'SELECT naam, id, days, money FROM user ORDER BY money DESC '; 
    $results = $db->query($sql); 
?>
<html>
    <head>
        <title>leaderboard</title>
    </head>
    <body>
        <?php
        echo "
            <TABLE BORDER='5' WIDTH='100%' CELLPADDING='4' CELLSPACING='3'>
               <TR>
                  <TH><BR><H3>POINTS LEADERBOARD</H3></TH>
               </TR>
               <TR>
                  <TH>Username</TH>
                  <TH>Money</TH>
                  <TH>Days</TH>
               </TR>";

        foreach($results as $row)  
            echo "
               <TR>
                  <TD>$row['naam']</TD>
                  <TD>$row['money']</TD>
                  <TD>$row['days']</TD>
               </TR>";
        
        echo "</TABLE>";
        ?>
    </body>
</html>

【讨论】:

这段代码工作了一半:D,它的工作方式如下:它不再复制它,但它只复制像 Username Money 和 Days 这样的表头 啊,我修好了,把 TH 也放在 Foreach 上面, 只将行放在循环内 @luc-stey 如果这解决了您的问题,请标记为这样。谢谢。

以上是关于我的 pdo 结果在表中重复的主要内容,如果未能解决你的问题,请参考以下文章

检查重复条目与使用 PDO errorInfo 结果

位域的 PDO 问题 [重复]

在表中添加新行[重复]

使用 Mysql 和 PHP 在表中汇总 [重复]

从具有相同值的两个表中选择数据后结果重复

在表中使用“自动换行:断词”[重复]