I have 3 tables:
Sites: ID, name
Assoc: site_id, assoc_type, assoc_id
Options: ID, name
I would like to do the following query in one
SELECT * FROM sites FOREACH site SELECT * FROM assoc WHERE assoc_type='option' AND site_id = site.ID FOREACH assoc SELECT name FROM options WHERE ID = assoc.ID FOREACH SITE echo name, array(option 1, option2, option3); is this possible?
Code I am trying to shorten
$getsites = mysql_query("SELECT * FROM sites")or die(mysql_error()); while($row = mysql_fetch_array($getsites)){ echo $row['name']; $getassoc = mysql_query("SELECT * FROM assoc WHERE type='options' AND site_id = '$row[ID]'")or die(mysql_error()); echo'<ul>'; while($subrow = mysql_fetch_array($getassoc)){ $getoption = mysql_query("SELECT * FROM options WHERE ID = '$subrow[assoc_id]'")or die(mysql_error()); $option = mysql_fetch_assoc($getoption); echo '<li>'.$option['name'].'</li>'; } echo'</ul><br/>'; }