Quesito su select

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Salve ragazzi, volevo chiedere se è corretto scrivere cosi una select:

PHP:
$query = "SELECT * FROM colore WHERE id = '1, 2'";
$sq = mysql_query($query);
while ($r = mysql_fetch_array($sq)){
$colori_nomi = $r['nome'];

Se si, come faccio a visualizzare tramite la variabile $colori_nomi tutti i nomi associati agli id in una select, (in questo caso all'1 e al 2).

Grazie:D
 
se ho capito la logica della query, dovrebbe essere:
PHP:
$query = "SELECT * FROM colore WHERE id = 1 OR id = 2";
$sq = mysql_query($query);
echo "<select name=\"colori\">";
while ($r = mysql_fetch_array($sq)){
$colori_id = $r['id'];
$colori_nomi = $r['nome']; 
echo "<option value=\"".$colori_id."\">".$colori_nomi."</option>";
}
echo "</select>";
 
Ultima modifica:
Esatto, e se quei valori provenissero da un'array?
Ad es. il mio codice:

Posso fare così?

PHP:
//tutto il codice prima per prelevare i dati dal database
$col = unserialize($row['colore']);
  

$stringa = implode(" OR ID =  ", $col);

//poi
$query = "SELECT * FROM colore WHERE id = '$stringa'";
$sq = mysql_query($query);
echo "<select name=\"colori\">";
while ($r = mysql_fetch_array($sq)){
$colori_id = $r['id'];
$colori_nomi = $r['nome']; 
echo "<option value=\"".$colori_id."\">".$colori_nomi."</option>";
}
echo "</select>";

Grazie
 
Di nulla, strano però che tu abbia utilizzato dei valori stringa per gli ID, come mai non sono degli interi?
 
Ora ti spiego, devo associare ad ogni prodotto delle varianti che può contenere molte opzioni, tipo ogni prodotto può avere vari colori come giallo, verde, rosso, bianco.., quindi ho creato una tabella varianti dove ogni voce ha un'id univoco, poi in prodotti ho creato una tabella colori dove tramite un'array ho salvato gl'id dei colori.
Così questa select mi permette di far effettuare una scelta dei colori all'utente.
Spero di essere stato chiaro, altrimenti cercherò di spiegarmi meglio.

Grazie
 
Ok, ma se invece ho più di due valori nella select cosa inserisco?

Calcolando sempre che prelevo i dati da un'array, quindi possono essere da uno a tanti.

Grazie
 

Discussioni simili