Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Query Per Ricerca

  1. #1

    Query Per Ricerca

    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 &egrave; vuoto lo stampo a video
    if ($numrows==0) echo "<center>
    "."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.

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    direi che non ci siamo, la tua richiesta è confusa, non si capisce come l'utente riesca a filtrare il tipo_negozi e il genere......
    hai una form? invii dei dati in post? spiega passo passo e vedremo che si piò fare

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.