Pagina 1 di 1

Creare un form di ricerca multiplo

Inviato: 13/02/2015, 16:26
da flyd00
Salve a tutti ragazzi, ho un problema. Devo creare un pannello di ricerca multiplo che mi stampi dati da un db mysql.
Il codice funziona ma mi stampa sempre in successione dati che a me non interessano.
In parole povere ho due campi: Nome Cliente e Zona.
Inserendo il nome cliente e cliccando sul cerca รจ perfetto. Ma appena faccio un altro ciclo while e voglio solo che mi stampi i dati del campo Zona, mi stampa anche tutti i clienti.

Codice: Seleziona tutto

<h2 class="intestazione">Risultati della tua ricerca</h2>
<?php
require_once("connessione_db.php");  //connessione db
mysql_select_db("$db_name",$connessione); //seleziono il database e connetto

//recupero quello che hanno scritto
$cliente = $_POST['cliente'];
$zona1 = $_POST['zona1'];





//query mysql
$sql_cercapernome = mysql_query("SELECT * FROM richiesta  WHERE (cliente LIKE '%" . $cliente . "%')");
$sql_cercaperzona1 = mysql_query("SELECT * FROM richiesta  WHERE (zona1 LIKE '%" . $zona1 . "%')");




//trovati
$trovati = mysql_num_rows($sql_cercapernome);



//se ci sono risultati
if($trovati > 0)
{

 echo "<p class='desc' style='margin-left:25px;'>Trovate $trovati voci per il termine <b>".stripslashes($testo)."</b></p>\n";

//inizio il loop
while($row = mysql_fetch_array($sql_cercapernome)) {

echo '<p style="margin-left:2%;">'. $row['id'].$row['cliente'] . $row['tel1'] . $row['tel2'] . $row['tel3'] . $row['tel4'] .
$row['citta'] .$row['zona1'] .$row['zona2'].$row['zona3'].$row['tipologia'].$row['piano'].$row['mq'].
$row['max'].$row['richiesta'].$row['vani'].$row['note'].
'</p>'; 

  } //fine LOOP valori trovati

  } //fine risultati if

  else{ //se non ci sono risultati

  // notifica in caso di mancanza di risultati
  echo "Al momento non sono stati pubblicati post/articoli che contengano i termini cercati.";

  }//fine else 



if($trovati > 0)
{

 echo "<p class='desc' style='margin-left:25px;'>Trovate $trovati voci per il termine <b>".stripslashes($testo)."</b></p>\n";

//inizio il loop
while($row = mysql_fetch_array($sql_cercaperzona1)) {

echo '<p>'. $row['id'].$row['cliente'] . $row['tel1'] . $row['tel2'] . $row['tel3'] . $row['tel4'] .
$row['citta'] .$row['zona1'] .$row['zona2'].$row['zona3'].$row['tipologia'].$row['piano'].$row['mq'].
$row['max'].$row['richiesta'].$row['vani'].$row['note'].
'</p>';

  } //fine LOOP valori trovati

  } //fine risultati if

  else{ //se non ci sono risultati

  // notifica in caso di mancanza di risultati
  echo "Al momento non sono stati pubblicati post/articoli che contengano i termini cercati.";

  }//fine else 

?>

Re: R: Creare un form di ricerca multiplo

Inviato: 13/02/2015, 16:44
da brunino
Certo: esegui due volte lo stesso while... Differenzia la variabile $trovati in $trovati_username e $trovati_zona, con i due mysql_num_rows...

Inviato dal mio GT-S5360 con Tapatalk 2

Re: Creare un form di ricerca multiplo

Inviato: 13/02/2015, 16:54
da flyd00

Codice: Seleziona tutto

<h2 class="intestazione">Risultati della tua ricerca</h2>
<?php
require_once("connessione_db.php");  //connessione db
mysql_select_db("$db_name",$connessione); //seleziono il database e connetto

//recupero quello che hanno scritto
$cliente = $_POST['cliente'];
$zona1 = $_POST['zona1'];






//query mysql
$sql_cercapernome = mysql_query("SELECT * FROM richiesta  WHERE (cliente LIKE '%" . $cliente . "%')");
$sql_cercaperzona1 = mysql_query("SELECT * FROM richiesta  WHERE (zona1 LIKE '%" . $zona1 . "%')");






//trovati
$trovati = mysql_num_rows($sql_cercapernome);
$trovati2 = mysql_num_rows($sql_cercaperzona1);


//se ci sono risultati
if($trovati > 0)
{

 echo "<p>Trovate $trovati voci per il termine <b>".stripslashes($testo)."</b></p>\n";
 
 
//inizio il loop
while($row = mysql_fetch_array($sql_cercapernome)) {

echo '<p style="margin-left:2%;">'. $row['id'].$row['cliente'] . $row['tel1'] . $row['tel2'] . $row['tel3'] . $row['tel4'] .
$row['citta'] .$row['zona1'] .$row['zona2'].$row['zona3'].$row['tipologia'].$row['piano'].$row['mq'].
$row['max'].$row['richiesta'].$row['vani'].$row['note'].
'</p>';

  } //fine LOOP valori trovati

  } //fine risultati if

  else{ //se non ci sono risultati

  // notifica in caso di mancanza di risultati
  echo "Al momento non sono stati pubblicati post/articoli che contengano i termini cercati.";

  }//fine else 


if($trovati2 > 0)
{

 echo "<p>Trovate $trovati voci per il termine <b>".stripslashes($testo)."</b></p>\n";
 
 
//inizio il loop
while($row = mysql_fetch_array($sql_cercaperzona1)) {

echo '<p style="margin-left:2%;">'. $row['id'].$row['cliente'] . $row['tel1'] . $row['tel2'] . $row['tel3'] . $row['tel4'] .
$row['citta'] .$row['zona1'] .$row['zona2'].$row['zona3'].$row['tipologia'].$row['piano'].$row['mq'].
$row['max'].$row['richiesta'].$row['vani'].$row['note'].
'</p>';

  } //fine LOOP valori trovati

  } //fine risultati if

  else{ //se non ci sono risultati

  // notifica in caso di mancanza di risultati
  echo "Al momento non sono stati pubblicati post/articoli che contengano i termini cercati.";

  }//fine else 

?>
Okay passo avanti :D

Come faccio ora a non mostrare la prima ricerca(cliente), ma solo la ricerca per zona?

Re: R: Creare un form di ricerca multiplo

Inviato: 13/02/2015, 16:59
da brunino
In che senso? Il codice che non ti serve lo elimini... O tanto tanto poni $trovati=0

Re: Creare un form di ricerca multiplo

Inviato: 13/02/2015, 17:03
da flyd00
Mi stampa i dati anche di "Cliente"