Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782

    [PHP][MYSQL] ricerche multiple

    salve.
    la mia intenzione è quella di creare una ricerca all'interno di un database in cui i termini della ricerca vengono passati dall'utente.

    mi spiego meglio:
    ipotizzando che ho 5 campi(messi a casaccio)
    Nome - Cognome - Provincia - Eta - Anno
    l'utente esegue una ricerca per Nome e Anno (Marco - 2007)
    come faccio a dire alla select che la clausola della Where deve essere composta da Nome='marco' && anno=2007 ???????

    basta anche un consiglietto per cominciare

  2. #2
    SELECT * from myTable where name='marco' AND anno=2007

    ipotizando che name sia un campo di testo
    e anno sia un campo numerico

  3. #3
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    a fare una select normale k. ma se i dati da cercare glieli passo attraverso una form? è questo il mio problema. non so a priori cosa vogliono cercare gli utenti e quindi vorrei creare una select che si adatta ai dati che vengono passati dall'utente tramite una form

  4. #4
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Beh non è certo semplice dedurre i dati passati alla select ed esiste il rischio fondato che tali ricerche producano risultati inesatti rispetto a quello che si attende l'utente.

    Secondo me non dovresti volere una specie di ricerca TOTALE e perfettamente ADATTIVA ma bensì dovresti sforzarti di capire cosa potrebbe cercare l'utente ed indirizzarlo con dei campi ad hoc su cui basare l'SQL delle select.

    Es:
    Il tuo sito è diviso in sottoaree?

    Nel caso potresti differenziare la ricerca da sezione a sezione a seconda di cosa sia più probabile che l'utente stia cercando.

    E poi molto dipende se l'utente sta facendo una ricerca mirata, esaustiva ecc.

    C'è anche tutta una scienza sull'architettura dell'informazione su cui ci si potrebbe basare nella scelta.

  5. #5
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    mi speigo meglio: quando l'utente cliccherà su ricerca avanzata gli apparirà una form di ricerca composta da vari campi che a sua scelta potra compilare o no.

    quello che avevo in mente io era di passare i dati alla pagina php. li riceve e li legge poi controlla:

    if(isset($var) (lo fa per tutti i campi della form e poi genera una concatenazione)....
    se è vero a $condizione+="'nome='$var';

    sto provando a creare qualcosa ma...

  6. #6
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    Codice PHP:
    // ****** ricevo i dati dalla form e controllo lunghezza vettore ******
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $localita=$_POST['localita'];
    $cond=' ';
    $query=' ';
    $key=' ';

    foreach(
    $_POST as $key=>$value)
    {
        if(isset(
    $value))
        {
            if(
    $key!="Invia Ricerca")
                
    $cond += "$key=$value AND ";
        }

    }
    if(
    $cond!="")
        
    $query+= "WHERE " $cond "0=0";

    print 
    $query
    Questo è cio che per ora spno riuscito a fare solo che non va perche non mi stampa $query... avete qualche consiglio su come agire?

  7. #7
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    niente?

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.