Salve ragazzi. Un gran bel problema quello che mi si è appena presentato. Passo a spiegare senza perdere tempo.
Ho un array multidimensionale così composto:
Ho usato questo come esempio ma in realtà l'array è formato dalla coppia id - nome estratti da un db (quindi non mi dite di cambiare la struttura).Codice PHP:$_target[0]['name'] = 'Uomo';
$_target[0]['id'] = 0;
$_target[1]['name'] = 'Donna';
$_target[1]['id'] = 1;
$_target[2]['name'] = 'Unisex';
$_target[2]['id'] = 2;
$_target[3]['name'] = 'Bambino';
$_target[3]['id'] = 3;
Il problema è questo: quando vado a costruire il modulo utilizzo un menu select formato in questo modo:
<select name="target">
<option value = "$target[$i]['id']">$target[$i]['name']</option>
</select>
Ora succede che nel momento in cui vado a riepilogare i dati inseriti stampando il valore della variabile $_POST['target'] mi viene stampato l'id e non il nome. Domandona: Come faccio a ricavare il nome? In un array così semplice potrei benissimo fare qualcosa del genere
Questa soluzione, però, mi sembra poco elegante ed inoltre dispendiosa su grandi array. Soluzioni? Grazie mille! Ciao!Codice PHP:for ($i = 0 ; $i < count($target) ; $i++ )
{
if ($target[$i]['id'] == $_POST['target'])
{
$targetID = $target[$i]['id'];
$targetName = $target[$i]['name'];
}
}

Rispondi quotando