ricerca dinamica con piu campi

gian21

Nuovo Utente
16 Mag 2013
23
0
0
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

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>

      <!-- velamotore -->
       <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>
 
      <!-- gruppo -->
           <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>
 
      <!-- tipo -->
           <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>
      
       
      <!-- lunghezza -->
       <tr><td>da <input type="text" name="da" size="10" maxlength="200"> a <input type="text" name="a" size="10" maxlength="200"></td>                        
      <!-- anno -->
           <td style="width: 100px; height: 25px; padding: 1px; overflow: auto;"><input type="text" name="year"></td>
      <!-- budget -->
           <td>da <input type="text" name="dab" size="10" maxlength="200"> a <input type="text" name="ab" size="10" maxlength="200"></td>
      <!-- opzioni -->
        <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> 
    <!-- tasto ricerca -->
         
    <td align="center" width="100"><br><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 iche invia i dati

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%;">
<a href="INDEX.php"><b><font face="Arial" size="2" color="DIMGRAY">Home page  ></font></b></a>
<b><font face="Arial" size="2" color="003c69">Elenco di Postobarche</font></b><br>
</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 src="postobarca_box.png">
</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>
<a href="ordinaprezzoposto.php"><b><font color="003c69" face="arial" size="2" style="left: 66%; top:57%;  position:absolute">prezzo</font></b></a>
<a href="postobarca.php"><b><font color="003c69" face="arial" size="2" style="left: 71%; top:57%;  position:absolute">data</font></b></a>
<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 src="ADMIN/open.php?id=<?php echo $tmp["id"]; ?>" width="120" height="90">
   <br><br>
   <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>
 

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
campi = peso, dimensione, colore

PHP:
$LIKE = "";
if(isset($_POST["peso"])) {
  $LIKE .= "AND peso LIKE '" . $_POST['peso'] . "'";
}
if(isset($_POST["dimensione"])) {
  $LIKE .= "AND dimensione LIKE '" . $_POST['dimensione'] . "'";
}
if(isset($_POST["colore"])) {
  $LIKE .= "AND colore LIKE '" . $_POST['colore'] . "'";
}

$LIKE = substr($LIKE, 4);

Una cosa così.
Volendo la si potrebbe automatizzare dandogli in pasto un array con l'elenco delle variabili da controllare, ma non è fa parte della domanda.
 

gian21

Nuovo Utente
16 Mag 2013
23
0
0
ciao grazie per la riposta...
volevo sapere un paio di cose
1) questo lo si deve inserire all interno di questa query ?? $query = "SELECT * FROM postobarca WHERE postobarca.vel LIKE '$velmot' AND postobarca.cat LIKE '$group' AND postobarca.tipo LIKE '$tipo' ";
e se si come inserirla?
2) purtroppo o dei form messi con dei select... e vorrei che qualcuno non venga preso in considerazione come fare?
 

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
la parte di codice che ti ho scritto va a creare la parte di query relativa ai LIKE, va concatenata al resto della query

$QUERY = $QUERY . $LIKE;

Comunque se non sei riuscito a capirlo da solo considererei l'ipotesi di studiarti la documentazione di MySQL e di PHP.
 

gian21

Nuovo Utente
16 Mag 2013
23
0
0
e lo so scusami ma sono alle prime armi del php

per quanto rigurada il secondo punto hai qualche dritta da darmi
 

gian21

Nuovo Utente
16 Mag 2013
23
0
0
$query = "SELECT * FROM postobarca WHERE postobarca.vel LIKE '$velmot'";
$LIKE = "";
if(isset($_POST["group"])) {
$LIKE .= "AND cat LIKE '" . $_POST['group'] . "'";
}
if(isset($_POST["tipo"])) {
$LIKE .= "AND tipo LIKE '" . $_POST['tipo'] . "'";
}
$query = $query . $LIKE;
$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);


mi va sul echo (database vuoto) mi sai dire dove sbaglio
 
Discussioni simili
Autore Titolo Forum Risposte Data
G ricerca dinamica partendo dalla scelta del database PHP 7
F access ricerca record con apostrofo. MS Access 0
C Ricerca Prodotti Woocommerce Javascript 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
G Menù a tendina di ricerca con query PHP 1
R Problema query con ricerca id numerico PHP 2
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
F Visualizzazione motore di ricerca SEO e Posizionamento 2
B Stringa sql per ricerca su più campi Database 1
F Funzione Glob - ricerca file contenente una parola PHP 1
P Ricerca campo data PHP 1
L titolo del sito nella pagina di ricerca di google SEO e Posizionamento 2
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
L Ricerca valore mysql e incremento PHP 73
E Problema motore di ricerca FULL_TEXT PHP 0
motleyrulez Ricerca filtro con Ajax PHP 1
Shyson [CSS] Posizionare casella di ricerca HTML e CSS 3
P Query di ricerca profonda MySQL 0
T Query per ricerca ritardo evento MS Access 7
B Campo ricerca domini HTML e CSS 4
V Ricerca volontari questionario tesi - Ricambio Offerte e Richieste di Lavoro e/o Collaborazione 0
L Ricerca sviluppatori PHP tempo indeterminato Milano Offerte e Richieste di Lavoro e/o Collaborazione 0
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
L [PHP] Ricerca su search bar esterna PHP 1
D Ente di Formazione accreditato in Regione Lazio ricerca Front End Developer Offerte e Richieste di Lavoro e/o Collaborazione 3
N [WordPress] Ricerca tema WordPress 6
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
Federico.Marcelo Alla ricerca di scrittori post guest Offerte e Richieste di Lavoro e/o Collaborazione 0
ANDREA20 [PHP] motore di ricerca nel sito PHP 11
O [PHP] Ricerca record tramite post PHP 7
GraceHawk [MS Access] Findfirst per ricerca record MS Access 1
T [PHP] Ricerca nel database PHP 2
A [Javascript] Mostrare un marker se è vicino al risultato di ricerca con google maps Javascript 3
V Semplice barra di ricerca con filtro categorie prodotti E-Commerce 0
A Ricerca con collegamento in altro sito web Discussioni Varie 0
C [PHP] Ricerca multipla, evitare if PHP 4
F [WordPress] Plugin Ricerca per e-commerce Woocommerce WordPress 1
M [OFFRO][RETRIBUITO] Milano IT Consulting SRL - Ricerca 1 Consulente PHP Offerte e Richieste di Lavoro e/o Collaborazione 0
D [ASP] Motore di ricerca interno su 2 tabelle Classic ASP 3
A [MySQL] Ricerca in PMA MySQL 0
andreas88 Da .htm a .php, perdo le mie posizioni su Google ricerca? SEO e Posizionamento 9
P Google risultati di ricerca inappropriati SEO e Posizionamento 1
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
G [PHP] FORM DI RICERCA ESTESA PHP 2
borgo italia [PHP] ricerca caratteri accentati PHP 4
P [PHP] ricerca dati PHP 1
Emix [PHP][MYSQL] Ricerca avanzata tramite form PHP 6
R [MySQL] ricerca per data... MySQL 10

Discussioni simili