phpmyadmin
index.php file
JavaScript
x
$id = '8';
$idr = $row['id']; echo 'id-'.$id.' : ';
for ($i = 0; $i <= $id; $i++) {
$sql="SELECT * FROM menu WHERE parent='$i' ";
$result = mysqli_query($db,$sql);
$slug = $row['slug']; echo $slug; echo '/';
}
if ( !empty ($id) ) { echo '-No Data-'; }
I want to show the output as shown below:
JavaScript
id-8 : g/h
id-6 : a/b/c/d/e/f
id-4 : a/b/c/d
id-1 : a
id-7 : g
id-10 : -No Data-
Advertisement
Answer
Do not do multiple SQL queries inside a for
-loop! It’s inefficient. Form a single SQL query, instead. Something like:
JavaScript
$sql = "SELECT
parent,
GROUP_CONCAT(
DISTINCT slug ->
ORDER BY slug ASC
SEPARATOR '/'
) as slugs
FROM
menu
WHERE
parent <= " . $id . "
GROUP BY
parent;"
Then format the results as you wish.