Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Form di Ricerca

  1. #1

    Form di Ricerca

    Come si fa a montare una pagina di ricerca con più campi testo?
    Mi spiego meglio, nella pagina di ricerca ho:

    Campo Cliente <- ricerca per nome o cognome
    Campo Telefono <- ricerca per telefono
    Campo Città <- ricerca per città

    Se ho appena un form io faccio così, però come aggiungo gli altri?

    GRZ

    Form
    Codice PHP:
    <div class="rowElem noborder"><label>Cliente:</label><div class="formRight"><input type="text" id="ricerca" name="ricerca" /></div><div class="fix"></div></div
    Query
    Codice PHP:
    // Monta ricerca
    $query "SELECT * FROM `clienti` WHERE ((`cliente_nome` LIKE '%".$ricerca."%') OR ('%".$ricerca."%'))"

  2. #2
    Ciao credo che questa per te sia una soluzione valida:
    Codice PHP:
    if(isset($_POST['info_form'])) {
        
    //definisci i campi da cercare
        
    $campo = array('nome''indirizzo''citta''telefono''fax');
        
    $condizione = array();

        
    // creo un loop dei campi definiti
        
    foreach($campo as $campi){
            
    // controllo se i campi inviati sono vuoti
            
    if(isset($_POST[$campi]) && $_POST['campi'] != '') {
                
    //creo una condizione di ricerca sql
                
    $conditions[] = "`$campi` LIKE '%" mysql_real_escape_string($_POST[$campi]) . "%'";
            }
        }

        
    // creo la query
        
    $query "SELECT * FROM TABLE ";
        
    // se la condizione non è definita
        
    if(count($condizione) > 0) {
            
    //invio query
            
    $query .= "WHERE " implode (' AND '$condizione);
        }

        
    $result mysql_query($query); 
    Spero di esserti stato di aiuto
    Marko

  3. #3

    Re: Form di Ricerca

    Originariamente inviato da cris.calleo
    Come si fa a montare una pagina di ricerca con più campi testo?
    Mi spiego meglio, nella pagina di ricerca ho:

    Campo Cliente <- ricerca per nome o cognome
    Campo Telefono <- ricerca per telefono
    Campo Città <- ricerca per città

    Se ho appena un form io faccio così, però come aggiungo gli altri?

    GRZ

    Form
    Codice PHP:
    <div class="rowElem noborder"><label>Cliente:</label><div class="formRight"><input type="text" id="ricerca" name="ricerca" /></div><div class="fix"></div></div
    Query
    Codice PHP:
    // Monta ricerca
    $query "SELECT * FROM `clienti` WHERE ((`cliente_nome` LIKE '%".$ricerca."%') OR ('%".$ricerca."%'))"
    Fosse così facile saremmo tutti programmatori con le palle
    Credo sia sbagliata la query.

    Codice PHP:
    $query "SELECT * FROM clienti WHERE cliente_nome LIKE '%".$ricerca."%' OR cliente_nome LIKE'%".$ricerca."%'"
    Comunque fammi capire, l'utente inserisce un solo campo per la ricerca?

  4. #4

    Re: Re: Form di Ricerca

    Originariamente inviato da camionistaxcaso
    Fosse così facile saremmo tutti programmatori con le palle
    Credo sia sbagliata la query.

    Codice PHP:
    $query "SELECT * FROM clienti WHERE cliente_nome LIKE '%".$ricerca."%' OR cliente_nome LIKE'%".$ricerca."%'"
    Comunque fammi capire, l'utente inserisce un solo campo per la ricerca?
    Camionista, il codice sopra funziona.
    Ho una pagina con un campo testo, scrivo quello che volgio cercare e mi mostra i risultati.

    Quello che vorrei é aggiungere più campi per la ricerca, un utente può utilizzare il primo campo per cercare per nome, il secondo per città, il terzo per il telefono, ecc...

    Piano piano saremo tutti programmatori con le palle

  5. #5
    Originariamente inviato da TecnoSystem
    Ciao credo che questa per te sia una soluzione valida:
    Codice PHP:
    if(isset($_POST['info_form'])) {
        
    //definisci i campi da cercare
        
    $campo = array('nome''indirizzo''citta''telefono''fax');
        
    $condizione = array();

        
    // creo un loop dei campi definiti
        
    foreach($campo as $campi){
            
    // controllo se i campi inviati sono vuoti
            
    if(isset($_POST[$campi]) && $_POST['campi'] != '') {
                
    //creo una condizione di ricerca sql
                
    $conditions[] = "`$campi` LIKE '%" mysql_real_escape_string($_POST[$campi]) . "%'";
            }
        }

        
    // creo la query
        
    $query "SELECT * FROM TABLE ";
        
    // se la condizione non è definita
        
    if(count($condizione) > 0) {
            
    //invio query
            
    $query .= "WHERE " implode (' AND '$condizione);
        }

        
    $result mysql_query($query); 
    Spero di esserti stato di aiuto
    Marko
    Ciao Marko,
    TI ringrazio per la risposta.
    Fino ad adesso non mi sono imbattuto in array, vedo di studiare e testare il tuo suggerimento.
    Grazie.

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.