• User

    Problemino Motore di ricerca

    [php]if(!empty($_POST['Cogn_nome']))
    {
    $Cogn_nome = mysql_real_escape_string($_POST['Cogn_nome']);
    $where = 'ea.cogn_nome LIKE '%'.trim($Cogn_nome).'%'AND';
    }
    if(!empty($_POST['eta']))
    {
    $eta = mysql_real_escape_string($_post['eta']);
    $where .= ' ea.eta LIKE '%'.trim($eta).'%'AND';
    }
    /eseguo un fetch assocc/
    [/php]
    Con il codice sopra, da come si vede recupero il cognome ed eta da due campi di un form.

    I problemi sono due
    1 se non si inscerisce nulla visualizza tutto
    2 come elimino AND finale del codice.


  • User Attivo

    Ciao Luca
    non ho capito bene il problema numero 1 (che cosa dovrebbe invece succedere se non si inserisce nulla?) ma per quanto riguarda il punto 2 puoi fare una cosa del genere:
    [php]if(!empty($_POST['Cogn_nome']))
    {
    $Cogn_nome = mysql_real_escape_string($_POST['Cogn_nome']);
    $where .= ' AND ea.cogn_nome LIKE "%' . trim($Cogn_nome).'%" ';
    }
    if(!empty($_POST['eta']))
    {
    $eta = mysql_real_escape_string($_POST['eta']);
    $where .= ' AND ea.eta LIKE "%' . trim($eta) . '%" ';
    }
    /eseguo un fetch assocc/
    $query = 'SELECT * FROM tabella WHERE 1 ' . $where;[/php]HTH, ciao! 🙂


  • User

    Nel punto 1 se tutti i campi sono vuoti visualizzare tutti i record


  • User Attivo

    Ok, capito: la mia soluzione dovrebbe andar bene anche per quello.

    Ovviamente ricordati di cambiare la query con i tuoi dati e dettagli specifici... 😉