• User

    funzione ricerca nel database

    salve ragazzi volevo porvi una domanda sono riuscito a estrapolare dati da un database che ho creato ma con un neo quello che.... quando lo uso mi viene dato tutto il contenuto del db io invece volevo creare una funzione cerca dove digito un nome e mi esce tutto su quel nome o un cognome , vi posto il cod che uso
    [PHP]?php
    //connessione data database

    require 'config.php';
    require 'connect.php';

    //preparo la query

    $query= "SELECT user,nome,cognome,ragione_sociale ,p_iva,codfiscale,indirizzo ,localita,provincie,cap,telefono,cellulare,fax,pass,mail,note FROM utenti";

    //invio query

    $result=mysql_query($query);
    //controllo esito

    if(!$result)
    {
    die("errore nella query $query:" .mysql_error());
    }

    echo '
    <table border="1">
    <tr>
    <th>User</th>
    <th>Nome</th>
    <th>Cognome</th>
    <th>Ragione sociale</th>
    <th>P_iva</th>
    <th>Codfiscale</th>
    <th>Indirizzo</th>
    <th>Localita</th>
    <th>Provincie</th>
    <th>Cap</th>
    <th>Cellulare</th>
    <th>Fax</th>
    <th>Password</th>
    <th>Email</th>
    <th>Note</th>

    </tr>';

    while($row=mysql_fetch_assoc($result)){
    $user =htmlentities($row['user']);
    $nome =htmlentities($row['nome']);
    $cognome =htmlentities($row['cognome']);
    $ragione_sociale =htmlentities($row['ragione_sociale']);
    $p_iva =htmlentities($row['p_iva']);
    $codfiscale =htmlentities($row['codfiscale']);
    $indirizzo =htmlentities($row['indirizzo']);
    $localita =htmlentities($row['localita']);
    $provincie =htmlentities($row['provincie']);
    $cap =htmlentities($row['cap']);
    $telefono =htmlentities($row['telefono']);
    $cellulare =htmlentities($row['cellulare']);
    $fax =htmlentities($row['fax']);
    $pass =htmlentities($row['pass']);
    $mail =htmlentities($row['mail']);
    $note =htmlentities($row['note']);
    $note =nl2br($note);

    echo"<tr>
    <td>$user</td>
    <td>$nome</td>
    <td>$cognome</td>
    <td>$ragione_sociale</td>
    <td>$p_iva</td>
    <td>$codfiscale</td>
    <td>$indirizzo</td>
    <td>$localita</td>
    <td>$provincie</td>
    <td>$cap</td>
    <td>$cellulare</td>
    <td>$note</td>
    <td>$pass</td>
    <td>$mail</td>
    <td>$fax</td>
    </tr>";
    }
    echo '</table>';

    //libero memoria in php
    mysql_free_result($result);

    //chiudo la connessione

    mysql_close();

    ?>[/PHP]
    cio quello che vorrei fare e' inserire un cerca in una pagina e poi da li mi deve rimandare in un'altra dove compare l'eventuale risultato.
    grazie per la pazienza 🙂


  • User Attivo

    Usa gli operatori WHERE campo LIKE 'testo'

    :gthi:


  • User

    in che modo ....puoi farmi un esempio ...grazie ricordo che so pochissimo di php e mysql davvero poco ...:(


  • Consiglio Direttivo

    Ciao tapin 😉

    In questo modo

    [php]$query="SELECT user,nome,cognome,ragione_sociale ,p_iva,codfiscale,indirizzo ,localita,provincie,cap,telefono,cellulare,fax,pass,mail,note FROM utenti WHERE nome LIKE '$variabile_ricerca' OR cognome LIKE '$variabile_ricerca'";[/php]In questo modo il nome/cognome dovrà essere digitato esatto
    il nome pippo uscirà solo se cerco pippo, non pip, pipp o altro..
    se vuoi che la ricerca possa essere per porzioni puoi usare il %
    [php]LIKE 'pip%' // cercherà tutti i record che iniziano per pip
    LIKE '%pip' // cercherà tutti i record che finiscono per pip
    LIKE '%pip%' // cercherà tutti i record che contengono, in qualunque posizione, la sequenza di lettere pip[/php]


  • User

    ok ..grazie ..corro a provare..:)


  • User

    scusa Samyorn come posso tramutare il tutto un semplicissimo comando cerca ..ossia inserisco il nome e clicco cerca e deve darmi il risultato


  • Consiglio Direttivo

    si, quello che ti ho postato è un semplicissimo campo cerca 😄
    ovvero un input box dove digiti il testo da cercare e poi ti recuperi il dato nella variabile che passi come LIKE 😉


  • User

    @tapin said:

    scusa Samyorn come posso tramutare il tutto un semplicissimo comando cerca ..ossia inserisco il nome e clicco cerca e deve darmi il risultato

    scussmi duinuovo Samyorn..ma non conpare nessun campo cerca nella mia pagina che mi indichi dove scrivere quello che cerco ma bensi scrivendo il cod e simulando il tutto mi si apre una pagina gia con dei risultati ... caselle dove inserire parole non sene vedono ma solo una pagina bianca che quando viene laciata mi da gia' il ris :bho:


  • Consiglio Direttivo

    Beh..ovvio che non vedi nulla 😄
    devi creare il form dando come action la pagina con quello script e recuperando il valore POSTato dall'input box
    [html]
    <form action="nomepagina.php" method="post" name="searchform">
    <input type="text" name="search" value="">
    </form>
    [/html]

    invece nella pagina dello script metterai:
    [php]<?
    $search="";
    $search=$_POST['search'];

    //connessione data database

    require 'config.php';
    require 'connect.php';

    //preparo la query

    $query="SELECT user,nome,cognome,ragione_sociale ,p_iva,codfiscale,indirizzo ,localita,provincie,cap,telefono,cellulare,fax,pass,mail,note FROM utenti WHERE nome LIKE '$search' OR cognome LIKE '$search'";

    // ed il resto del codice
    [/php]


  • User

    che dire ..praticamente perfetto avevi perfettamente ragione come uno stupido non mi sono reso conto che senza html che cosa volevo vedere..
    cmq perfetto mille grazie Samyorn sei stato super paziente e gentilissimo spero un giorno di riuscire a dare risposte in questo forum con la stessa facilità di come le danno gli altri esperti come te ...ma che vuoi adesso sono ancora giovane e alle primissime armi.
    😄


  • Consiglio Direttivo

    @tapin said:

    ....spero un giorno di riuscire a dare risposte in questo forum con la stessa facilità di come le danno gli altri esperti come te ...ma che vuoi adesso sono ancora giovane e alle primissime armi.
    😄
    Anch'io sono alle prime armi...non chiamarmi esperto :tongueout: