Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    problema nella ricerca?

    ciao a tutti.
    ho una pagina con un form che permette la selezione di alcune voci per effetuare una ricerca. I dati vengono passati nella pagina che dà l'esito della ricerca. Solo che in questa pagina (dell'esito) mi visualizza solo i risultati di un criterio di ricerca; appenna ne aggiungo un altro non mi visulizza più nulla. Qualcuno mi puo aiutare?
    Codice PHP:
    $dati = array();  
    if(isset(
    $_GET['model_occhi']) && ($_GET['model_occhi']) != "" ) {  
    $dati[] = $_GET['model_occhi'];  
    }
    if(isset(
    $_GET['model_capelli']) && ($_GET['model_capelli']) != "" ) {  
    $dati[] = $_GET['model_capelli'];  
    }
    //in $parola_ricerca metto solo i risultati GET non vuoti
    $parola_ricerca = array();
    foreach(
    $dati as $parola_ricerca){ 

    $query "SELECT * FROM model " .
              
    "WHERE model_occhi = '" $parola_ricerca "' " ;
              
    //"AND model_capelli= '" . $parola_ricerca . "' ";        Se lo aggiungo non mi mostra più niente
    $result mysql_query($query)
      or die (
    mysql_error());

      while (
    $row mysql_fetch_array($result)) {
        echo 
    "
    "
    ;    
        echo 
    "
    "
    ;
        echo 
    "'" $row['model_nome'] . "'";
        echo 
    "
    "
    ;
        echo 
    $row['model_occhi'];
        echo 
    "
    "
    ;
        echo 
    $row['model_capelli'];
      }


  2. #2
    Semplifico la domanda: coma faccio ad inserire il valore suceesivo contenuto nell'array $parola_ricerca nella stessa query: ossia cosa devo mettere in corrispondenza a AND model_capelli= ???
    Codice PHP:
    $query "SELECT * FROM model " 
              
    "WHERE model_occhi = '" $parola_ricerca "' " 
              
    "AND model_capelli = '" $parola_ricerca "' ";  // Se lo aggiungo non mi mostra più niente 

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    OR !
    There are 10 types of people in the world - those who understand binary and those who don't.

  4. #4
    però l'esito della ricerca dev'essere di questo tipo:

    visualizzare scheda dove ad es. gli occhi risultano azzurri ma anche i capelli risultano biondi.

    E non visualizzare scheda dove gli occhi sono azzurri oppure i capelli sono biondi.

    Cioè deve essere una ricerca ristrettiva.

  5. #5
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    l'array puo' contenere piu' valori o e' sempre colore occhi(1 dato) colore capelli(secondo dato)?
    Se cosi' fosse:
    Codice PHP:
    $query "SELECT * FROM model " 
              
    "WHERE model_occhi = '" $parola_ricerca[0] . "' " 
              
    "AND model_capelli = '" $parola_ricerca[1] . "' "

  6. #6
    l'avevo già provato, ma purtroppo non funziona: non visualizza niente. Credo che il problema sia nei cicli.

  7. #7
    no, il problema non è nei cicli perchè visualizzando con echo funziona correttamente. IL problema è nella query ed esattamente: perchè con OR (che non mi interessa ) funziona e con AND (che è quello mi interessa ) non funziona?
    Grazie a tutti

  8. #8
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Scusa ma se stampi la query risulta esatta? "where model_occhi = '..' and model_capelli = '...'??

  9. #9
    se stampo questa sotto: la query non dà errore, ma non mi visualizza niente.
    Codice PHP:
    $query "SELECT * FROM model " .
             
    "WHERE model_occhi = '" $parola_ricerca "' " .
             
    "AND model_capelli = '" $parola_ricerca "' "
    se stampo invece questa: la query non solo non dà errore, ma mi visualizza i risultati corretti (ma non quelli che mi servono).
    Codice PHP:
    $query "SELECT * FROM model " .
             
    "WHERE model_occhi = '" $parola_ricerca "' " .
             
    "OR model_capelli = '" $parola_ricerca "' "
    il mio problema è: perchè OR (operatore inclusivo) funziona e AND (operatore esclusivo) non funziona? Cioè a me non serve vedere tutte le ragazze che hanno gli occhi azzurri ed in più tutte quelle che sono bionde (perchè è questo che fa OR).
    A me serve vedere solo le ragazze che siano rigorosamente con occchi azzurri e capelli biondi. (ciò che dovrebbe fare AND)

  10. #10
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    non da errore e non visualizza nulla perche' non ci sono corrispondenze probabilmente(perche gli passi un array come parola ricerca e nn trova nulla).
    Hai provato a metterla cosi'?
    $query = "SELECT * FROM model " .
    "WHERE model_occhi = '" . $parola_ricerca[0] . "' " .
    "AND model_capelli = '" . $parola_ricerca[1] . "' ";

    Ho messo $parola_ricerca[0] e $parola_ricerca[1] per prendere i 2 dati corrispondenti nell'array parola_ricerca. Se passi parola ricerca essendo un array nella query riulterebbe WHERE model_capelli = 'Array'.....

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 © 2025 vBulletin Solutions, Inc. All rights reserved.