用mysql数据填充html表

时间:2017-10-31 18:14:58

标签: php html mysql html-table

我在网上看了一会儿找到一种用MYSQL表中的数据填充HTML表的方法。

从我所看到的,我已经创建了这个,但是它只返回表中的第一个条目,而不仅仅是一次,而是继续永久地添加它。

<?php 
  require "connect.php";
  $conn = Connect();
  $query = mysql_query("SELECT handle, email, campaigngroup FROM targets");

 ?>

 <table>
  <tr>
   <td>Handle</td>
   <td>Email</td>
   <td>Group</td>
  </tr>

 <?php
  while($row = mysql_fetch_row($query)) {?>
  <tr>
   <td><?php echo $row['handle'];?></td>
   <td><?php echo $row['email'];?></td>
   <td><?php echo $row['campaigngroup'];?></td>
  </tr>
  <?php } ?>
 </table>

什么是我希望实现的最佳方式?我希望HTML表与SQL表中的数据量一样长。

1 个答案:

答案 0 :(得分:0)

正如我在评论中提到的那样:

  

它很可能是数组的语法。请参阅http://php.net/manual/en/function.mysql-fetch-row.php上的手册,您可以使用其他功能,并且使用了错误的功能。它试图移动到下一个指针而从未找到它,这就是它永远循环的原因。 @IsaacManzi您希望我将此评论作为答案吗? ;-)来自手册:&#34;返回与获取的行对应的数字数组,并将内部数据指针向前移动。 &#34;

  

如果您想要使用$row['string'],则必须使用mysql_fetch_array()mysql_fetch_assoc()。您正在使用数字数组与mysql_fetch_row()一起使用的字符串。

然而,这个api已经过时了,不应该在这个时代使用。

使用mysqli_或PDO api,如果涉及用户输入,则需要使用预准备语句。否则,您将接触到SQL注入。

你声明你在评论中使用mysqli_ api尝试了它,你可能正在使用mysqli_等价物,反过来给你相同的结果/永远循环。

您还可以考虑使用分页,分页也使用LIMIT来限制记录。