Hola, tengo un problema...
estoy haciendo un script para hacer una consulta al db y despues quisiera hacer un par de foreach para obtener un select con optgroup...
algo "igual" lo he hecho con CodeIgneter para hacer un menu son sub-menu (la logica es la misma)...
(estoy usando wordpress pero el script es php, por eso he puesto el post aca)...
query:
Código PHP:
$query = mysql_query("SELECT wp_term_taxonomy.term_id AS id, name FROM wp_term_taxonomy, wp_terms
WHERE parent = '$id'
AND wp_terms.term_id = wp_term_taxonomy.term_id");
$query2 = mysql_query("SELECT name, wp_terms.term_id AS id, parent
FROM wp_term_taxonomy, wp_terms
WHERE wp_terms.term_id = wp_term_taxonomy.term_id
AND count >'0' AND term_taxonomy_id >'3'");
mi idea era hacer lo siguiente:
Código PHP:
$regioni = mysql_fetch_array($query);
$citta = mysql_fetch_array($query2);
echo '<select size="1" name="city" id="city" class="city">';
foreach($regioni as $r){
echo '<optgroup label="'.$r->name.'">';
foreach($citta as $c){
if($r->id == $c->parent){
echo '<option value="'. $c->id .'">'. $c->name .'</option>';
}
}
echo '</optgroup>';
}
echo '</select>';
lo mas cercano como output a lo que quiero es:
Código PHP:
echo '<select size="1" name="city" id="city" class="city">';
while($regioni = mysql_fetch_array($query)){
echo '<optgroup label="'. $regioni['name'] .'">';
while($citta = mysql_fetch_array($query2)){
if($regioni['id'] == $citta['parent']){
echo '<option value="'. $citta['id'] .'">'. $citta['name'] .'</option>';
}
}
echo '</optgroup>';
}
echo '</select>';
pero de esta manera el segundo optgroup no muesta ninguna option (y debe ser porque el segundo while ($citta) termina en el primer giro del primer while ($regioni)
gracias de antemano...