Reputation: 3818
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?
Upvotes: 0
Views: 10932
Reputation: 190
Maybe you can try this code:
// 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);
$i=1;
while($row=mysqli_fetch_assoc($result))
{
$date[$i] = $row['date'];
$period[$i] = $row['period'];
$room[$i] = $row['room'];
$teacherinitials[$i] = $row['teacherinitials'];
$i++;
}
//Start table
echo "<table>";
echo "<tr><th>Date</th><th>Period</th><th>Room</th><th>Teacher Initials</th></tr>";
// Loop through the results from the database
for ($i = 1; $i <=count($date); $i++)
{
// Show entries
echo
"<tr>
<td>$date[$i]</td>
<td>$period[$i]</td>
<td>$room[$i]</td>
<td>$teacherinitials[$i]</td>
</tr>";
}
echo "</table>"
?>
Upvotes: 2