PDA

View Full Version : [PHP] problema passaggio con post da select (code inside)


Redvex
10-02-2008, 10:33
Spiego in breve:
Leggo dei valori in un database in mysql e vado a mettere questi valori in una select. Poi naturalmente selezionando l'opzione desiderata dovrei fare una query di insert in un'altra tabella. Il problema è che li non ci sono neanche arrivato perchè quando do il valore con POST il var_dump mi restituisce string(0)"" :eek:

Metto il codice

<?
$conn = mysql_connect('localhost','root','') or die("Errore nella connessione a MySql: " . mysql_error());

mysql_select_db('ticket',$conn) or die("Errore nella selezione del db: " . mysql_error());

$query = 'SELECT* FROM gruppi';

$ris = mysql_query($query,$conn) or die("Errore nella query: " . mysql_error());
$righe = mysql_num_rows($ris);
$arr_categoriaid = array();
$arr_categoria = array();
$num =0;
while($riga = mysql_fetch_array($ris)) {
$arr_categoriaid[$num] = $riga['id'];
$arr_categoria[$num] = $riga['nome'];
$num++;
}
for ($i=0;$i<$num;$i++){
$risultato .="<option value=\"\">$arr_categoriaid[$i] $arr_categoria[$i]</option><br>";
}
?>
<form action="up_categoria.php" method="post">
Categorie
<select name="menu" method="post">
<?=$risultato?>
</select>
<input type="submit" name="Modifica" value="Modifica">
</form>


Naturalmente quando nella pagina up_categoria.php
faccio

$prova = $_POST['menu'];
var_dump ($prova);


mi restituisce string(0)""

La select funziona i campi ci entrano ma non riesco a passare i valori

kk3z
10-02-2008, 15:09
Se l'option ha l'attributo value, viene usato quello => tu lo specifichi vuoto => viene postata una stringa vuota. Prova con:
while($riga = mysql_fetch_array($ris)) {
$arr_categoriaid[] = $riga['id'];
$arr_categoria[] = $riga['nome'];
$risultato .="<option>{$riga['id']} {$riga['nome']}</option><br>";
}

PS: [] è per aggiungere alla fine dell'array

Redvex
10-02-2008, 15:16
Se l'option ha l'attributo value, viene usato quello => tu lo specifichi vuoto => viene postata una stringa vuota. Prova con:
while($riga = mysql_fetch_array($ris)) {
$arr_categoriaid[] = $riga['id'];
$arr_categoria[] = $riga['nome'];
$risultato .="<option>{$riga['id']} {$riga['nome']}</option><br>";
}

PS: [] è per aggiungere alla fine dell'array

Si è vero ma così mi restituisce anche nome (che deve essere solo visualizzato) mentre a me serve solo l'id cmq grazie ;)

Ok bastava spostare un paio di cose grazie ;)