I am trying to loop through my database and display all the entries.
Here is my code:
<?php
// Create connection
$con=mysqli_connect("host","username","password","database");
// Check connection
if (mysqli_connect_errno($con)) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//Get number of rows
$sql="SELECT * FROM TBook";
$result=mysqli_query($con, $sql);
$rowcount=mysqli_num_rows($result);
//Start table
echo "<table>";
echo "<tr><th>Date</th><th>Period</th><th>Room</th><th>Teacher Initials</th></tr>";
// Loop through database
for ($i = 1; $i < $rowcount; $i++) {
$row = mysql_fetch_array($result);
$date = $row['date'];
$period = $row['period'];
$room = $row['room'];
$teacherinitials = $row['teacherinitials'];
// Show entries
echo "<tr>
<td>".$date."</td>
<td>".$period."</td>
<td>".$room."</td>
<td>".$teacherinitials."</td>
</tr>";
}
echo "</table>"
?>
When I run it, however, the headings of the columns show but nothing else.
What is going wrong?
for ($i = 0; $i < $rowcount; $i++)... but you're combining MySQLi and MySQL: instead offor ($i = 1; $i < $rowcount; $i++) { $row = mysql_fetch_array($result);, usewhile ($row = $result->fetch_assoc()) {while ($row = mysql_fetch_array($result)) { .... }