Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySQLi和PHP的HTML表_Php_Mysqli - Fatal编程技术网

使用MySQLi和PHP的HTML表

使用MySQLi和PHP的HTML表,php,mysqli,Php,Mysqli,我正在尝试将一个表连接到我的数据库,以便使用该数据库中的信息 我认为我的方法是正确的,但目前表只显示第一行。有人知道发生了什么事吗 <table id="fairtable"> <tr> <td>Fair Name</td> <td>Date</td> <td>Are we t

我正在尝试将一个表连接到我的数据库,以便使用该数据库中的信息

我认为我的方法是正确的,但目前表只显示第一行。有人知道发生了什么事吗

         <table id="fairtable">
            <tr>
                <td>Fair Name</td>
                <td>Date</td>
                <td>Are we there?</td>
                <td>Website</td>
            </tr>
            <?php 
            $sql = "SELECT `name`,`date`,`present`,`website` FROM `dates`";
            $results = mysqli_query($conn,$sql);

            while($rowitem = mysqli_fetch_array($results)) {
            echo "<tr>";
                echo "<td>" . $rowitem['name'] . "</td>";
                echo "<td>" . $rowitem['date'] . "</td>";
                echo "<td>" . $rowitem['present'] . "</td>";
                echo "<td>" . $rowitem['website'] . "</td>";
            echo "</tr>";
            }
            ?>
        </table>

代码只从表中获取一行,需要循环结果。 请尝试以下代码:

$results = mysqli_query($conn,$sql);

while($row = mysqli_fetch_array($results))
{
  //do smth
}

也许这是因为您没有正确打开HTML表标记,这很容易被忽略。还可以在白色语句中循环结果集:

$sql = "SELECT `name`,`date`,`present`,`website` FROM `dates`";
$results = mysqli_query($conn,$sql);
echo "<table>"; //begin table tag...
//you can add thead tag here if you want your table to have column headers
 while($rowitem = mysqli_fetch_array($results)) {
    echo "<tr>";
    echo "<td>" . $rowitem['name'] . "</td>";
    echo "<td>" . $rowitem['date'] . "</td>";
    echo "<td>" . $rowitem['present'] . "</td>";
    echo "<td>" . $rowitem['website'] . "</td>";*/
    echo "</tr>";
}
echo "</table>"; //end table tag

尝试mysqli_fetch_asscy您还应该添加一些错误检查,例如或diemysqli_error@Fred-ii-OP可以使用mysqli_fetch_数组本身,但他需要使用while而不是foreach来迭代它,即while$row=mysqli_fetch_数组$results@SulthanAllaudeen谢谢Sulthan,这很有道理。为什么OP要尝试这个?请说明你做了什么,以及你为什么这样做,不仅是为了OP,也是为了SO的未来访客。这与Fred ii的建议相同。你应该考虑再多解释一下答案。information@SulthanAllaudeen如果我建议OP使用mysqli_fetch_assoc是错误的,你应该说:不,弗雷德,那不行,伙计;-我很高兴删除我对它的评论。@Fred ii-是的,我可以这么说,但错误主要是因为foreach,我想@McClayin解释一下。我以后一定会转达你:谢谢你的好意:@SulthanAllaudeen不客气,Sulthan,永远是我的荣幸。Peace/Cheerri没有显示完整的代码,只显示了相关的php代码。现在更新了主要帖子。