phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Creare un form di ricerca multiplo

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
flyd00
Utente
Utente
Messaggi: 3
Iscritto il: 13/02/2015, 16:19
Sesso: Maschio
Server: UNIX/Linux

Creare un form di ricerca multiplo

Messaggio da flyd00 » 13/02/2015, 16:26

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 

?>

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: R: Creare un form di ricerca multiplo

Messaggio da brunino » 13/02/2015, 16:44

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
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

flyd00
Utente
Utente
Messaggi: 3
Iscritto il: 13/02/2015, 16:19
Sesso: Maschio
Server: UNIX/Linux

Re: Creare un form di ricerca multiplo

Messaggio da flyd00 » 13/02/2015, 16:54

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?

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: R: Creare un form di ricerca multiplo

Messaggio da brunino » 13/02/2015, 16:59

In che senso? Il codice che non ti serve lo elimini... O tanto tanto poni $trovati=0
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

flyd00
Utente
Utente
Messaggi: 3
Iscritto il: 13/02/2015, 16:19
Sesso: Maschio
Server: UNIX/Linux

Re: Creare un form di ricerca multiplo

Messaggio da flyd00 » 13/02/2015, 17:03

Mi stampa i dati anche di "Cliente"

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 27 ospiti