Jump to content

There is no errors but data from database doesn't show on the site


alinash33

Recommended Posts

I'm building a site with bootstrap and trying to make the menu dynamic.created a database with xampp.it seems that there is connection because it showed some errors that I fixed.But now there are no erorrs but the data doesn't show on the website.

it should be  navigation menu with sublinks. Here is my code:

would be very grateful for your help

<?php
$sql = "SELECT * FROM categories WHERE parent=0";
$pquery = $db->query($sql);?>
<nav class="navbar navbar-default navbar-fixed-top" id="navbar" >
<div class="container">
<a href="index.php" class="navbar-brand" id="text">Kippah store</a>
<ul class="nav navbar-nav">
<?php while($parent = mysqli_fetch_assoc($pquery));?>
<?php
$parent_id= $parent['id'];
$sql2 = "SELECT * FROM categories WHERE parent='parent_id'";
$cquery = $db->query($sql2); ?>
<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown"
id="text"><?php echo $parent['category'];?><span class="caret"></span></a>
 <ul class="dropdown-menu" role="menu">
<?php while($child = mysqli_fetch_assoc($cquery));?>
 <li><a href="#"><?php echo $child['category'];?></a></li>
 
 </ul>
 </li>
 
 </ul>
</div>
</nav>
Link to comment
Share on other sites

Hi I'm a beginner so maybe I didn't understand the logic -what I have is a categories table within it I have a 3 fields : id , category, parent the id is the primary key

the items in category have id(primary key) and they also have a number of parent from 0 to 4 . The category that assigned parent=0 should be the header link in the and below it the category with parent 1 2 3 4 et... so variable parent_id receives fro the parent[id] the 1,2,3,4 and from there it goes to the query of sql2 that puts in $sql 2 all the category that have parent 1,2,3,4 .I'm really beginner so maybe something is wrong with my logic.Would be very grateful for your help.

Link to comment
Share on other sites

Your logic is fine (although it's not the most efficient way to do it). It's your implementation of that's at fault.

 

Above you mention the variable $parent_id and using that in the second query. But you aren't doing that. As two of us have pointed out, you are searching for categories whose parent matches the literal string value "parent_id" and not the variable.

 

The efficient way is not to run queries inside a loop. You should run a single query, using a JOIN, to get all your required data.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.