Ciao a tutti.
Il mio problema da principiante di php è questo:
Ho una tabella che si chiama magazzino che contiene i dati:
id | tipo_negozio | genere
1 | negozio_1 | jeans
2 | negozio_2 | maglia
Ho fatto 2 select che mi propongono i risultati estratti da altre 2 tabelle del db:
$query_tipo = "SELECT * FROM tipo_negozio ORDER BY id";
$result_tipo = mysql_query($query_tipo) or die("Errore...");
$numrows_tipo = mysql_num_rows($result_tipo);
//Realizzo un ciclo for che si ripete per il numero di occorrenze trovate
for($x=0; $x<$numrows_tipo; $x++){
//Recupero il contenuto di ogni record trovato
$resrow_tipo = mysql_fetch_row($result_tipo);
//Stampo il risultato come link in una riga di tabella
echo stripslashes("<option value=\"$resrow_tipo[1]\">".
$resrow_tipo[1]."</option>");
}
}
$query_tipo = "SELECT * FROM genere ORDER BY id";
$result_tipo = mysql_query($query_tipo) or die("Errore...");
$numrows_tipo = mysql_num_rows($result_tipo);
//Realizzo un ciclo for che si ripete per il numero di occorrenze trovate
for($x=0; $x<$numrows_tipo; $x++){
//Recupero il contenuto di ogni record trovato
$resrow_tipo = mysql_fetch_row($result_tipo);
//Stampo il risultato come link in una riga di tabella
echo stripslashes("<option value=\"$resrow_tipo[1]\">".
$resrow_tipo[1]."</option>");
}
}
Ora devo fare una query che mi permetta di ricercare all'interno della tabella magazzino i dati che l'utente vuole estrarre.
Questa ricerca deve poter essere fatta sia dalla prima select da sola( quindi filtrando solo i negozi), sia dalla seconda select da sola, filtrando solo il genere, oppure da tutte e 2 le select assieme, filtrando contemporaneamente ( tipo_negozio e genere ).
Quello che sono arrivato a fare io è la segente query che pero' mi filtra solo le 2 select assieme con la funzione (AND ) oppure una sola select alla volta con la funzione ( OR ) .
$query = "SELECT * FROM magazzino WHERE tipo_negozio='$tipo_negozio' AND genere='$genere ";
$result = mysql_query($query) or die("Errore su esecuzione delle query...");
//conto il numero di occorrenze trovate nel db
$numrows = mysql_num_rows($result);
//se il database è vuoto lo stampo a video
if ($numrows==0) echo "<center><br>"."Nessun articolo trovato !"."</center>";
//Se invece trovo delle occorrenze...
//Realizzo un ciclo for che si ripete per il numero di occorrenze trovate
for($x=0; $x<$numrows; $x++){
//Recupero il contenuto di ogni record trovato
$resrow = mysql_fetch_array($result);
//Stampo il risultato come link in una riga di tabella
$prog_list++;
grazie a chi volesse aiutarmi.
Il mio problema da principiante di php è questo:
Ho una tabella che si chiama magazzino che contiene i dati:
id | tipo_negozio | genere
1 | negozio_1 | jeans
2 | negozio_2 | maglia
Ho fatto 2 select che mi propongono i risultati estratti da altre 2 tabelle del db:
$query_tipo = "SELECT * FROM tipo_negozio ORDER BY id";
$result_tipo = mysql_query($query_tipo) or die("Errore...");
$numrows_tipo = mysql_num_rows($result_tipo);
//Realizzo un ciclo for che si ripete per il numero di occorrenze trovate
for($x=0; $x<$numrows_tipo; $x++){
//Recupero il contenuto di ogni record trovato
$resrow_tipo = mysql_fetch_row($result_tipo);
//Stampo il risultato come link in una riga di tabella
echo stripslashes("<option value=\"$resrow_tipo[1]\">".
$resrow_tipo[1]."</option>");
}
}
$query_tipo = "SELECT * FROM genere ORDER BY id";
$result_tipo = mysql_query($query_tipo) or die("Errore...");
$numrows_tipo = mysql_num_rows($result_tipo);
//Realizzo un ciclo for che si ripete per il numero di occorrenze trovate
for($x=0; $x<$numrows_tipo; $x++){
//Recupero il contenuto di ogni record trovato
$resrow_tipo = mysql_fetch_row($result_tipo);
//Stampo il risultato come link in una riga di tabella
echo stripslashes("<option value=\"$resrow_tipo[1]\">".
$resrow_tipo[1]."</option>");
}
}
Ora devo fare una query che mi permetta di ricercare all'interno della tabella magazzino i dati che l'utente vuole estrarre.
Questa ricerca deve poter essere fatta sia dalla prima select da sola( quindi filtrando solo i negozi), sia dalla seconda select da sola, filtrando solo il genere, oppure da tutte e 2 le select assieme, filtrando contemporaneamente ( tipo_negozio e genere ).
Quello che sono arrivato a fare io è la segente query che pero' mi filtra solo le 2 select assieme con la funzione (AND ) oppure una sola select alla volta con la funzione ( OR ) .
$query = "SELECT * FROM magazzino WHERE tipo_negozio='$tipo_negozio' AND genere='$genere ";
$result = mysql_query($query) or die("Errore su esecuzione delle query...");
//conto il numero di occorrenze trovate nel db
$numrows = mysql_num_rows($result);
//se il database è vuoto lo stampo a video
if ($numrows==0) echo "<center><br>"."Nessun articolo trovato !"."</center>";
//Se invece trovo delle occorrenze...
//Realizzo un ciclo for che si ripete per il numero di occorrenze trovate
for($x=0; $x<$numrows; $x++){
//Recupero il contenuto di ogni record trovato
$resrow = mysql_fetch_array($result);
//Stampo il risultato come link in una riga di tabella
$prog_list++;
grazie a chi volesse aiutarmi.