Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Motore Ricerca con select

    Preciso che sono alle prime armi con php.

    Devo realizzare in form per una ricerca interna con php e mysql, utilizando varie select come opzione.

    Sono partito da uno script di HTML.it, però questo ha solo il campo "testo".
    Io vorrei, oltre il campo testo, 3 differenti select (Genere, Zona e Anno) dove, attraverso un menu a tendina posso selezionare uno o più di questi campi e quindi ottenere i risultati della ricerca.

    Ho bisogno del vostro aiuto soprattutto per come va impostta la pagina dei risultati "risultatiricerca.php" .

    Ringrazio anticipatamente quanti possano darmi indicazioni e aiuto.


    Questa è la pagina del form per la ricerca , più o meno impostata:
    <table width="750" bgcolor="#FFFFCC" align="center" cellpadding="0" cellspacing="5" border="0">
    <tr>

    <td align="center">

    <form name="info" method="post" action="risultatiricerca.php">


    <div align="center">
    <center>
    <table border="0" cellpadding="0" cellspacing="0" width="390">
    <tr>
    <td width="390" height="25" colspan="7" bgcolor="#DDEEFE">
    <p align="justify"><font color="#003366"><span style="letter-spacing: 1px"><font size="2" face="Arial">Ricerca</font></span></font></td>
    </tr>
    <tr>
    <td width="140" height="40" colspan="2" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>
    <p align="right" style="margin-right: 5px"><font face="Arial">
    <font size="2" color="#003366">Parole da cercare:</font><font size="2">
    </font></font> </td>
    <td width="250" height="40" colspan="5" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left><p align="center">
    <input name="cerca" type="text" id="cerca" size="35" style="float: left"/>
    </p> </td>
    </tr>
    <tr>
    <td width="140" height="40" colspan="2" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>
    <p align="right" style="margin-right: 5px">
    <font color="#003366" size="2" face="Arial">Scegli la modalità:</font></td>
    <td width="20" height="40" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left><p align="center">
    </td>
    <td width="10" height="40" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>
    <p align="center"><input type="radio" value="tutte" name="tipo" checked></p> </td>
    <td width="100" height="40" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>
    <font size="2" face="Arial">tutte le parole</font></td>
    <td width="10" height="40" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>
    <p align="center"><input type="radio" value="frase" name="tipo"></td>
    <td width="90" height="40" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>
    <font size="2" face="Arial">frase esatta</font></td>
    </tr>



    <tr>
    <td width="140" height="40" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>
    <p align="right" style="margin-right: 5px">
    <font color="#003366" size="2" face="Arial">Scegli il genere:</font></td>
    <td width="250" height="40" colspan="6" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>
    <select size="Genere" name="Genere">
    <option value="Tutte">Tutti i generi</option>
    <option value="Genere 1">Genere 1</option>
    <option value="Genere 2">Genere 2</option>
    <option value="Genere 3">Genere 3</option>
    <option value="Genere 4">Genere 4</option>
    <option value="Genere 5">Genere 5</option>
    </select></td>
    </tr>
    <tr>
    <td width="140" height="40" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>
    <p align="right" style="margin-right: 5px">
    <font color="#003366" size="2" face="Arial">Scegli la zona:</font></td>
    <td width="250" height="40" colspan="6" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>

    <select name="Zona" size="1">
    <option value="Tutte" selected="selected">Tutte le zone</option>
    <option value="Zona 1">Zona 1</option>
    <option value="Zona 2">Zona 2</option>
    <option value="Zona 3">Zona 3</option>
    <option value="Zona 4">Zona 4</option>
    <option value="Zona 5">Zona 5</option>
    </select> </td>
    </tr>
    <tr>
    <td width="140" height="40" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>
    <p align="right" style="margin-right: 5px">
    <font color="#003366" size="2" face="Arial">Scegli l'anno:</font></td>
    <td width="250" height="40" colspan="6" style="BORDER-BOTTOM: #cccccc 1px solid" noWrap align=left>

    <select name="Anno" size="1">
    <option value="Tutte" selected="selected">Tutti gli anni</option>

    <option value="2009" >2009</option>
    <option value="2008" >2008</option>
    <option value="2007" >2007</option>
    <option value="2006" >2006</option>
    <option value="2005" >2005</option>
    <option value="2004" >2004</option>
    <option value="2003" >2003</option>
    </select>
    </td>
    </tr>
    <tr>
    <td width="390" height="70" colspan="7" valign="bottom">
    <div align="center">
    <table border="0" cellpadding="0" cellspacing="0" width="100%" height="25">
    <tr>
    <td width="50%" height="25">
    <p align="center"> <input name="pulsante" type="submit" id="pulsante" value="Cerca >>" /></p> </td>
    <td width="50%" height="25">
    <p align="center"><input name="pulsante" type="reset" id="pulsante" value="Cancella"></td>
    </tr>
    </table>
    </div> </td>
    </tr>
    </table>
    </center>
    </div>

    </form>
    </td>
    </tr>
    </table>



    Questa è invece la pagina con i risultati , adesso con solo il campo "testo"

    <?php
    $cerca2=$_POST["cerca"];
    $cerca2=trim($cerca2);



    include("mysql.php");

    $dati = mysql_query("select * from a_Elenco where Testo LIKE '%".$cerca2."%' OR Titolo LIKE '%".$cerca2."%'");



    while ($array = mysql_fetch_array($dati))
    {
    echo "<tr>";
    echo "<td>$array[Titolo]</td> ";
    echo "<td><a href=\"dettagliricerca.php?id=$array[IDNews]\">dettagli</td> ";
    echo "</tr>";
    }
    mysql_close();
    ?>

  2. #2
    Quali sono i campi della tabella/e ?
    ...il passato lo rimpiange chi non ha futuro...
    Lega LFA | Alessio Corse | a2area

  3. #3
    lxn, i campi della tabella che interessano il form per la ricerca sono: IDNews, Titolo, Testo, Genere, Zona e Anno.

    Grazie per la disponibilità.

  4. #4
    Codice PHP:

    $testo 
    $_POST['cerca'];
    $genere $_POST['Genere'];
    $zona $_POST['Zona'];
    $anno $_POST['Anno'];

    $query "SELECT * FROM a_Elenco WHERE Testo LIKE '%$testo%' AND Genere LIKE '%$genere% AND Zona LIKE '%$zona% AND Anno LIKE '%$anno%";
    $dati mysql_query($query);

    while (
    $array mysql_fetch_array($dati)) 
    {
         echo 
    $array['Titolo'];
         echo 
    $array['Testo'];
         echo 
    $array['Genere'];
         echo 
    $array['Zona'];
         echo 
    $array['Anno'];

    mysql_close(); 
    ho fatto dei semplici echo nel ciclo while, poi tu ovviamente li gestisci come meglio credi..era giusto per farti capire come richiamare i risultati.

    nelle select quando vuoi impostare la ricerca per ex Tutti i generi, imposta il value cosi:

    value =""

    di modo che la ricerca sia generica rispetto a quel campo e quindi venga "tralasciato". come hai fatto tu si andrebbe a cercare nella colonna Genere il valore TUTTI I GENERI che non c'è.

    altro consiglio, quando devi postare del codice sul forum utilizza i tag PHP cosi si evidenzia la sintassi ed è piu facile per gli utenti leggere il codice e quindi darti una risposta..

  5. #5
    Ti ringrazio molto mr.click per il codice e per la tue indicazioni molto chiare.
    Proverò il tutto... e vi farò sapere.

    Grazie di nuovo!

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.