Salve a tutti,
ho scritto questa funzione:
Codice PHP:
function carica(){
$name_proj = $_POST['js_project'];
$admin = $_POST['js_admin'];
$query="SELECT * FROM tabcomponenti WHERE Progetto='" . $name_proj . "' AND Visualizza=0;";
$connessione = mysql_connect("127.0.0.1", "root","root");
mysql_select_db('show_project');
$risultato = mysql_query($query, $connessione);
$stringa="";
$i=0;
$query_categorie = "SELECT nomecategoria FROM tabcategorie;";
$contenitore_categorie = mysql_query($query_categorie, $connessione);
while($row=mysql_fetch_row($risultato )){
// prendo il nome della categoria per ogni voce
$query2="SELECT nomecategoria FROM tabcategorie WHERE idcategoria='" . $row[5] . "';";
$sotto_risultato = mysql_query($query2, $connessione);
$nome_categoria = mysql_fetch_row($sotto_risultato);
// e la visualizzo
$stringa = $stringa . '<font size="4"><label><input onclick="checkInput(\'checkbox' . $i . '\',indIP);" type="checkbox" id="checkbox' . $i . '" value="' . $row[2] . '">  ' . $row[1] . '    ';
// aggiungo la select delle categorie con prima voce la categoria corrente per il componente
$stringa = $stringa . '<select name="siti" ><optgroup label="Current value"><option value=' . $nome_categoria[0] . ' selected="selected"> ' . $nome_categoria[0] . ' </option></optgroup><optgroup label="possible categories">';
//aggiungo alla select tutte le voci di categoria possibili
while($listadellecategorie=mysql_fetch_row($contenitore_categorie)){
$stringa = $stringa . '<option value=' . $listadellecategorie[0] . '>' . $listadellecategorie[0] . ' </option>';
}
$stringa = $stringa . '</optgroup></select></label><br /></font>' . "\n";
$i += 1;
}
mysql_close($connessione);
echo $stringa;
exit();
}
ho problemi nel ciclo while più interno, le diverse categorie (ce ne sono 2) vengono visualizzate correttamente solo al primo giro (solo per la prima voce) mentre dal secondo in poi non prende niente e visualizza solo la riga del gruppo "current value".
E' un errore gestire due query diverse così?