Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177

    ricerca dinamica con piu campi

    salve ragazzi buonasera
    in pratica , come leggerete dal titolo, non riesco bene a fare una ricerca avanzata con piu form
    il problema in generale e che in una ricerca dinamica non devo per forza riempiere tutti i campi a disposizione ( e nel mio caso ce ne sono molti come : PREZZO da/a , CATEGORIA , TIPO ecc) come fare ??
    vi posto il form in html e poi la pagina in php

    Codice PHP:
    <html>
    <
    head><title>Ricerca barche</title>
    </
    head>
    <
    body>
    <
    div style="position:absolute; left:25%; top:37%;">
    <
    form name="campo" method="post" action="ricercaposto.php">
      <
    table border="0" align="" bgcolor="#dedede">

         <
    th align="center" width="100" valign="bottom"><font color="00549F">Vela/motore</th>
         <
    th align="center" width="100" valign="bottom"><font color="00549F">Categoria</th>
         <
    th align="center" width="100" valign="bottom"><font color="00549F">Tipo</th>

          
           <
    tr><td align="center" width="100"><select name="velmot" id="vemo">
                                  <
    option value="Vela/Motore">Vela/Motore</option>
                                  <
    option value="Vela">Vela</option>
                                  <
    option value="Motore">Motore</option>
               </
    td>
     
          
               <
    td align="center" width="100"><select name="group" id="grup">
                                   <
    option value="Tutto">Tutto</option>
                                   <
    option value="Affitto">Affitto</option>
                                   <
    option value="Transito">Transito</option>
                                   <
    option value="Vendita">Vendita</option>
                                  </
    select>
                                  
               </
    td>
     
          
               <
    td align="center" width="100"><select name="tipo" id="tipos">
                                    
                                    <
    option value="Tutto">Tutto</option>
                                    <
    option value="Affitto cerco">Affitto Cerco</option>
                                    <
    option value="Affitto offro">Affitto Offro</option>
                                    <
    option value="Cedo vendo">Cedo vendo</option>
                                    <
    option value="Compro">Compro</option>
                                    <
    option value="Scambio cerco">Scambio cerco</option>
                                    <
    option value="Scambio offro">Scambio offro</option>
                                  </
    select></td></tr>
                                 </
    td>                             
                                 </
    table>
      <
    tr>
      <
    table border="0" align="">
         
               <
    th align="center" height="10" valign="bottom"><font color="00549F">Lunghezza</th
               <
    th align="center" height="10" valign="bottom"><font color="00549F">Anno</th>
               <
    th align="center" height="10" valign="bottom"><font color="00549F">Budget</th>
               <
    th align="center" height="10" valign="bottom"><font color="00549F">Opzioni</th>
          
           
          
           <
    tr><td>da <input type="text" name="da" size="10" maxlength="200"<input type="text" name="a" size="10" maxlength="200"></td>                        
          
               <
    td style="width: 100px; height: 25px; padding: 1px; overflow: auto;"><input type="text" name="year"></td>
          
               <
    td>da <input type="text" name="dab" size="10" maxlength="200"<input type="text" name="ab" size="10" maxlength="200"></td>
          
            <
    td><select name="opz" id="opzion">
             <
    option value="" selected="selected">Tutte</option>
             <
    option value="Leasing in corso">Leasing in corso</option>
             <
    option value="Finanziamento">Finanziamento</option>
             <
    option value="Possibilità di permuta">Possibilita' di permuta</option>
             </td> 
        
             
        <td align="center" width="100">
    <input type="submit" value="Cerca" style="background-color:00549F; color:white; width:90; height:25;font-size-adjust:inherit "></td>
        </tr>
        </td>
        </tr>
        </table>
        

         
     </table>
    </form>
    </div>
    </body>
    </html> 



    pagina in php

    Codice PHP:
    <?php
    include('connessione.php');
    include (
    "tutto.php");
    $velmot$_POST['velmot'];
    $group$_POST['group'];
    $tipo$_POST['tipo'];
    $tipo$_POST['ab'];
    $tipo$_POST['dab'];

    /* fine costruzione query */

    $query "SELECT * FROM postobarca WHERE postobarca.vel LIKE '$velmot' AND postobarca.cat LIKE '$group' ";
    $risultato mysql_query($query)

    or die(
    "Query non valida: " mysql_error());
    $num=mysql_num_rows($risultato);
    IF (
    $num == 0
     {  echo (
    "Il database è vuoto");
         exit();
      }
    mysql_close($conn);
    // Se ci sono file nel DB
     
    ?>
    <?
    include("ricercahtm.php");
    ?>
        <style type="text/css">
            
            tr {
            
                background-color: #efefef;
            }
            
            tr:hover {
                background-color: #dedede;
            }

        </style>

        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
        <script type="text/javascript">
            $(function(){
                $('tr').hover(function(){
                    $(this).css('background','#dedede');
                }, function(){
                    $(this).css('background','#efefef');
                });
            });
        </script>

    <BODY>
    <div style="position:absolute; left:7%; top:33%;">
    [url="INDEX.php"][b]<font face="Arial" size="2" color="DIMGRAY">Home page  ></font>[/b][/url]
    [b]<font face="Arial" size="2" color="003c69">Elenco di Postobarche</font>[/b]

    </div>
    <div style="position:absolute; left:7%; top:34%;">
    <font face="Arial" size="1" color="gray">__________________________________________________________________________________________________________________________________________________________________________________________</font>
    </div>
    <div style="position:absolute; left:7%; top:37%;">
    [img]postobarca_box.png[/img]
    </div>
    [b]<font color="black" face="arial" size="2" style="left: 60%; top:57%;  position:absolute">Ordina per :[/b]</font>
    [b]<font color="black" face="arial" size="2" style="left: 70%; top:57%;  position:absolute">||[/b]</font>
    [url="ordinaprezzoposto.php"][b]<font color="003c69" face="arial" size="2" style="left: 66%; top:57%;  position:absolute">prezzo</font>[/b][/url]
    [url="postobarca.php"][b]<font color="003c69" face="arial" size="2" style="left: 71%; top:57%;  position:absolute">data</font>[/b][/url]
    <font face="Arial" size="1" color="gray" style="left: 7%; top:59%;  position:absolute">__________________________________________________________________________________________________________________________________________________________________________________________</font>
    <TABLE cellspacing="1" cellpadding="12" border=1 bordercolor="LIGHTGRAY" style="left: 7%; top:62%; position:absolute; border: 1px solid #ffffff;">
    <TR>
    <TH style="border: 1px solid #CDCDCD; background-color:003c69;"><font face="arial" color="white">data ins.</font></TH>
    <TH style="border: 1px solid #CDCDCD; background-color:003c69;"><font face="arial" color="white">foto</font></TH>
    <TH style="border: 1px solid #CDCDCD; background-color:003c69;"><font face="arial" color="white">id</font> </TH>
    <TH style="border: 1px solid #CDCDCD; background-color:003c69;"><font face="arial" color="white">ubicazione</font></TH>
    <TH style="border: 1px solid #CDCDCD; background-color:003c69;"><font face="arial" color="white">postobarca presso</font></TH>
    <TH style="border: 1px solid #CDCDCD; background-color:003c69;"><font face="arial" color="white">lung.</font></TH>
    <TH style="border: 1px solid #CDCDCD; background-color:003c69;"><font face="arial" color="white">larg. </font></TH>
    <TH style="border: 1px solid #CDCDCD; background-color:003c69;"><font face="arial" color="white">categoria</font></TH>
    <TH style="border: 1px solid #CDCDCD; background-color:003c69;"><font face="arial" color="white">tipologia</font></TH>
    <TH style="border: 1px solid #CDCDCD; background-color:003c69;"><font face="arial" color="white">prezzo</font></TH>
    </TR>
    <?php
    $i
    =1;
    while( 
    $tmp mysql_fetch_array($risultato))
     {
    ?>  
       <tr>  
       <TD style="border: 1px dotted #708090">[b]<font face="arial" size="2"><?php echo date($tmp["data1"]); ?></font>[/b]</TD>
       <TD align="center" style="border: 1px dotted #708090">[img]ADMIN/open.php?id=<?php echo $tmp[[/img]" width="120" height="90">
       


       <FORM action="
    singolo1.php?id=<?php echo $tmp['id'?>" method="post" name="ricerca"> 
       <input type="image" img src="botton-vai-annuncio.png">
       </form>
       </TD>
       <TD style="border: 1px dotted #708090;">[b]<font face="arial" size="2"><?php echo ($tmp["id"]); ?></font>[/b]</TD>
       
       <TD style="border: 1px dotted #708090;"><p align="center">[b]<font face="arial" size="2"><?php echo ($tmp["regione"]); ?>/<?php echo ($tmp["provincia"]); ?></font>[/b]</TD>
       <TD style="border: 1px dotted #708090;"><p align="center">[b]<font face="arial" size="2"><?php echo ($tmp["titolo"]); ?></font>[/b]</TD>
       <TD style="border: 1px dotted #708090;"><p align="center">[b]<font face="arial" size="2"><?php echo ($tmp["lung"]); ?>.00 mt</font>[/b]</TD>
       <TD style="border: 1px dotted #708090;"><p align="center">[b]<font face="arial" size="2"><?php echo ($tmp["larg"]); ?>.00 mt</font>[/b]</TD>
       <TD style="border: 1px dotted #708090;">[b]<font face="arial" size="2"><?php echo ($tmp["cat"]); ?></font>[/b]</TD>
        <TD style="border: 1px dotted #708090;">[b]<font face="arial" size="2"><?php echo ($tmp["tip"]); ?></font>[/b]</TD>
        <TD style="border: 1px dotted #708090;"><p align="right">[b]<font face="arial" color="003c69" size="3"><?php echo number_format($tmp["prezzo"]); ?>,00</font>[/b]</TD>
        </TR>  
    <?php
     
    }
     
    ?>
    [b]<font color="003c69" face="arial" size="3" style="left: 7%; top:57%;  position:absolute">Postobarca trovati : <? include("contposto.php"?>[/b]</font>
    <?
    ?>
    </TABLE>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177
    non e che devo usare gli if...e come faccio in tal caso con il mysql?

  3. #3
    Originariamente inviato da gian21
    non e che devo usare gli if...e come faccio in tal caso con il mysql?
    Più che altro: come fa la gente a leggere tutto quel codice?
    Sono disponibile per realizzare lavori su commissione.

  4. #4
    Devi comporre la query dinamicamente in base al fatto che un parametro di ricerca sia valorizzato o meno.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177
    e infatti in modo dinamico questo lo so ma come fare??
    ho provato a fare gli if isset ma nulla

  6. #6
    Originariamente inviato da gian21
    ho provato a fare gli if isset ma nulla
    Nulla cosa?
    Che significa? Non funziona? Che risultato ottieni, qual'è il problema.
    Posta il codice!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    fai qualcosa del tipo:
    Codice PHP:
    <form ....>
    <input name="search[velamot]" ... >
    <input name="search[price_max]" ... >
    ...
    </form>

    // nella pagina php
    <?php
    $conditions 
    = array();
    foreach(
    $_POST['search'] as $key => $value){
         if(!
    $value) continue;
         
    // nel caso di select, puoi mettere un option con value nullo
         
    switch($key){
             case 
    'velamot':
                  
    $conditions[] = 'velamot LIKE %'.mysql_real_escape_string($value).'%';
             case 
    'price_max':
                  
    $conditions[] = "price <='".mysql_real_escape_string($value)."'";
             ....
         }
    }

    $sql_conditions implode(' AND '$conditions);
    $query "SELECT * .... WHERE $sql_conditions";
    Ho messo delle tipologie di ricerca a caso...non avevo voglia di leggere tutto il tuoi codice

    Chiaramente, prendilo come spunto

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177
    ora provo subito e ti faccio sapere...grazie boots sempre preciso nei tuoi interventi grazie

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177
    foreach($_POST['search'] as $key => $value){

    qui nn ho ben capito cosa mettere come (search) e con $key e $valuue

  10. #10
    Originariamente inviato da gian21
    ora provo subito e ti faccio sapere...grazie boots sempre preciso nei tuoi interventi grazie
    Ecco ora è chiaro...il tuo non funziona è semplicemente volere la pappina pronta! Vorrei vederli i tentativi che dici di aver fatto!

    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.