Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    ricerca mysql con doppio campo LIKE

    ciao,
    premetto che ho fatto una breve ricerca ma non ho trovato nulla che mi possa dare una mano...

    io ho una tabela, all'interno dei dati anagrafici composti da una decina di campi.
    vorrei creare un modulo di ricerca tipo:

    Codice PHP:
    <form action="ricerca_dati.php" method="POST">
    <
    table>
    <
    thead>
    <
    tr>
    <
    th>
    Ricerca
    </th>
    </
    tr>
    </
    thead>
    <
    tbody>
    <
    tr>
    <
    td>
    <
    input type="text" name="testoCerca" value=""/>
    </
    td>
    </
    tr>

    <
    tr>
    <
    td>
    <
    input type="submit" name="ricerca" value="cerca"/>
    </
    td>
    </
    tr>
    </
    tbody>
    </
    table>
    </
    form
    questo modulo possiede solo una barrra per l'inserimento, ma io vorrei far si che un utente possa mettere come parametro di ricerca sia il nome che il cognome...
    il fatto e che sono 2 campi differenti...

    nel db ho li campi in questo otrdine

    id_utente
    nome
    cognome
    indirizzo
    citta
    etc...

    io stavo pensando ad una query del genere
    Codice PHP:
    <?php
    $ricercato 
    $_POST['testoCerca'];

    if (isset(
    $ricercato)){
    $query "SELECT * FROM utente WHERE id_utente = '$_SESSION[id_utente] AND ";
    $query .= "utenti.nome LIKE '%$ricercato%' || utenti.cognome LIKE '%$ricercato%';";
    $sql =mysql_db_query ($db $query);
    while (
    $linea mysql_fetch_assocc($sql)) {
    blablabla
    }
    }
     
    ?>
    la mia query, lanciata in phpmysql fuziona, ma non come desiderato ...
    sembrerebbe che prenda solo l'ultima parte dell operatore OR.
    quindi se metto un cognome mi restituisce il cognome ma se metto il nome non restituisce nulla.
    Qualcuno sa come posso risolvere?
    Grazie anticipatamente

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Aggiungi le parentesi

    SELECT * FROM utente WHERE id_utente = '$_SESSION[id_utente] AND ";
    $query .= "(utenti.nome LIKE '%$ricercato%' || utenti.cognome LIKE '%$ricercato%')

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.