Display A Table In A Foreach Loop With Database Values
I am trying to display a table in a while loop.. But I have got stuck there for 2 days. anyone can help me to do this? Now I will explain actually what I am trying to do here.. Th
Solution 1:
Try
...
//Detect change in category
if($catID != $categoryId)
{
echo "<h3>Category 01: <span>{$category}</span><span></span></h3>";
echo "<divclass='container'>";
echo "<table>";
if (is_array($subjects))
{
foreach ($subjects as $sub) {
echo "<tr>";
echo "<td>";
echo $sub;
echo "</td>";
echo "</tr>";
}
}
else
{
echo "<tr><td>No subjects to display...<td/><tr/>";
}
echo "</table>";
echo "</div><!-- End .container DIV -->";
}
...
Update
Thought of changing the approach you've used to retrieve the data from DB. Try this code (code is not tested, typed it using notepad) so you may need to fix it a bit...)
$categoryIds = implode(',', $_SESSION['category']);
$q = "SELECT c. category_id AS ci, c.category_name AS cn
FROM category AS c
WHERE c.category_id IN ($categoryIds)";
$r = mysqli_query( $dbc, $q) ;
$catID = false;
$max_columns = 2;
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC))
{
$categoryId = $row['ci'];
$category = $row['cn'];
echo'<div>';
echo"<h3>Category 01: <span>{$category}</span><span></span></h3>\n";
$qs = "SELECT s.subject_name AS sn, s.subject_id AS si
FROM category_subjects cs
INNER JOIN subjects AS s ON s.subject_id = cs.subject_id
WHERE cs.category_id = \'' . $categoryId . '\'";
$rs = mysqli_query( $dbc, $qs) ;
echo"<h3>Category 01: <span>{$category}</span><span></span></h3>";
echo"<div class='container'>";
echo"<table>";
while ($rows = mysqli_fetch_array($rs, MYSQLI_ASSOC))
{
$sub = $rows['sn'];
echo"<tr>";
echo"<td>";
echo$sub;
echo"</td>";
echo"</tr>";
}
echo"</table>";
echo"</div> <!-- End .container DIV -->";
echo'</div>';
}
In this we fetch Categories first, go in a loop print first Category name and within the loop we fetch appropriate Subjects for the current category, then print the next one and so on...
Post a Comment for "Display A Table In A Foreach Loop With Database Values"