Display Php Array result in an Html table
You're close:
</thead>
<tbody>
<?php
foreach ($URLS as $URL){
echo'<tr>';
echo'<td>'. $URL['VideoTITLE']."</td>";
echo'<td>'. $URL['GroupName'].'</td>';
echo'<td>'. $URL['ByArtist'].'</td>';
echo'<tr>';
}
?>
</tbody>
Since you're taking the values of the $URLS
array and calling each one $URL
you need to refer to $URL
for each row's value. Not the $row
variable you originally used to populate the array from the database results.
FYI, you may want to look into htmlentities()
to escape your data to help prevent XSS attacks.
Assuming your data from the fetchRow is good to go, I see only one major bug in your html: change $row to $URL in your foreach loop. Also, you can mix PHP with HTML to make it a little more pretty:
<?php foreach ($URLS as $URL) { ?>
<tr>
<td><?php echo $URL['VideoTITLE']; ?></td>
<td><?php echo $URL['GroupName']; ?></td>
<td><?php echo $URL['ByArtist']; ?></td>
<tr>
<?php } ?>
yea as john said, you have $URLs as $URL, but then your referring to an array calling $row in the for each.
the other thing is that you may want to take the tbody tags outside of the for each loop
After getting the result from database please follow
<?php
echo '<table>';
echo '<thead>';
echo '<tr>';
echo '<th>Song name</th>';
echo '<th>Group name </th>';
echo '<th>Artist </th>';
echo '</tr>';
echo '</thead>'
echo '<tbody>';
foreach($URLS as $URL) {
echo'<tr>';
echo'<td>'. $URL['VideoTITLE']."</td>";
echo'<td>'. $URL['GroupName'].'</td>';
echo'<td>'. $URL['ByArtist'].'</td>';
echo'<tr>';
}
echo '</tbody>';
echo '</table>';
?>
I hope this help you