Reputation: 382
I have this code which is not working
<body>
<?php $outerSql = mysql_query("select * from gree_menu"); ?>
<ul>
<?php
while($outerRow = mysql_fetch_array($outerSql)) {
$outerMenu = $outerRow['menu_name'];
$outerId = $outerRow['menu_id'];
?>
<li>
<?=$outerMenu; ?>
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id = {$outerID}");?>
<ul>
<?php
while($innerRow = mysql_fetch_array($innerSql)) {
$innerMenu = $innerRow['prod_name'];
?>
<li><?= $innerMenu;?></li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>
The line that is causing me trouble is
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id = {$outerID}");?>
If i give the query as
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id = 7");?>
it works fine. But i want it to be dynamic. Valid values for menu_id are 7, 8, 9
Please help
Upvotes: 0
Views: 123
Reputation: 9635
Your have typo in outerID, not outerId as mentioned by @Abhi Beckert.
$outerId = $outerRow['menu_id'];
You used $outerID
in query. So I don't think your query have errors. Correct the typo and try again.
If you like to change the query try like below
$innerSql = mysql_query("SELECT sp.* FROM gree_menu gm
INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id
WHERE gm.menu_id = ".$outerId);
Upvotes: 2
Reputation: 14263
mysql_query("SELECT sp.* FROM gree_menu gm
INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id
WHERE gm.menu_id =$outerID");
Upvotes: 0
Reputation: 2493
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id = ".$outerID);?>
Upvotes: 0
Reputation: 820
You may try this one
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id = ".$outerID."");?>
Upvotes: 0
Reputation: 15664
Try this
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id =".{$outerID});?>
Upvotes: 2