【问题标题】:Displaying data horizontally using php and mysql使用php和mysql水平显示数据
【发布时间】:2019-03-12 21:17:38
【问题描述】:

您好我正在尝试使用 php 在 html 表中水平显示从 mysql 表中检索到的数据。下面的代码运行良好,除了它在我的数据库中遗漏了第一条记录(从第二条记录开始)。我确定它与柜台有关,但我似乎无法弄清楚如何让它停止这样做。如果有人能指出我的错误,我将不胜感激!

$items = 5;
$query = "SELECT * FROM members ";

$result = mysql_query($query) 
  or die(mysql_error());

$row = mysql_fetch_array($result);

if (mysql_num_rows($result) > 0) {

echo '<table border="1">';

$i = 0;

while($row = mysql_fetch_array($result)){

     $first_name = $row['first_name'];

           if ($i==0) {
                       echo "<tr>\n";
                      }

           echo "\t<td align=\center\">$first_name</td>\n";

           $i++;

           if ($i == $items) {

                              echo "</tr>\n";
                              $i = 0;
                              }
 }//end while loop

 if ($i > 0) {

                 for (;$i < $items; $i++) {
                      echo "<td>&nbsp;</td>\n";
                  }

              echo '</tr>';

              }//end ($i>0) if 

 echo '</table>';

 }else {

   echo 'no records found';
 }

【问题讨论】:

  • 你不应该使用mysql_函数,而且你的缩进很麻烦

标签: php html mysql css


【解决方案1】:

尝试删除第一个

$row = mysql_fetch_array($result);

你调用了两次,这就是为什么它会在你的 while 循环中跳过 1 行

【讨论】:

  • 就是这样,谢谢!我会把它标记为正确答案,但显然我不能在仅仅 9 分钟后。
【解决方案2】:

试试这个更简单。

       $items = 5;
  $query = "SELECT * FROM members ";

 $result = mysql_query($query) or die(mysql_error());
 if (mysql_num_rows($result) > 0) {

 echo '<table border="1">';
 while($row = mysql_fetch_array($result)){

 $first_name = $row['first_name'];
        echo "<tr>";
       for ($i=0 ; $i <= $items ;$i++) {

                    echo "<td align='center'>".$first_name."</td>";
                    }
}//end while loop
     echo "</tr>";
    echo '</table>';
}else{ echo 'no records found'; }

【讨论】:

  • @matttuman 因为我已经删除了 \n\t 。尝试再次添加它们并查看
【解决方案3】:

我以前遇到过这个问题。请尝试使用 do while 循环。示例

do {

// code

 } while($row = mysql_fetch_array($result)); //end while loop

【讨论】:

    【解决方案4】:

    $row = mysql_fetch_array($result); 1)从你的脚本中删除这行代码 2) 只使用 while 循环代码。

    【讨论】:

    • 请进一步解释,以便其他人可以从您的回答中学习
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多