Visualizzare risultati ottenuti da una select multipla

AndreaeNoemi

Nuovo Utente
18 Dic 2012
24
0
1
Ciao ragazzi,
in un sito ho inserito il classico "doppio menù a tendina + tasto invio".

Come faccio a fare in modo che i parametri indicati nei due menù vadano a creare una pagina specifica che contiene i risultati della ricerca?
I risultati della ricerca dovrebbero andare su una pagina che contiene l'elenco di tutte le attività trovate come ad esempio in questa pagina: www.matrimonio.it/cerca/arredamento/roma

Tempo fa ho già chiesto aiuto in questo e in altri forum, ho capito che dovrei usare PHP e MYSQL e mi è stato suggerita questa cosa che riporto:


basterebbe passare ad una unica pagina un URL con parametri tipo lavori.php?citta=padova&attivita=giardinieri o lavori.php?citta=padova&attivita=1 per farlo basta creare la stringa così con la seguente funzione PHP:
PHP:
header("Location = lavori.php?citta=" . $_POST['citta'] . "&attivita=" . $_POST['attivita']);
e poi:
PHP:
if ($_REQUEST['citta'] && !$_REQUEST['attivita']) { 
  $sql = "SELECT FROM lavori WHERE citta='" . $_REQUEST['citta'] . "'"; 
  // esegui la query e visualizza i record dei lavori torvati per ogni città 
  echo '<select name="lavori" size="1">'; 
  while ($row = mysql_fetch_assoc()) { 
    echo '<option value="' . $row['id_lavoro'] . '">' . $row['lavoro'] . '</option>'; 
  } 
  echo '<select>';

Io conosco solo alcune basi di PHP e MYSQL e non riesco a mettere in pratica questa soluzione ne a capirla, cosa ci devo fare con questo codice?
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
In quel codice c'erano alcuni errori, te l'ho corretto, comunque se non sai le basi ti consiglio di leggerti prima una buona guida e poi provare da te

PHP:
if ($_REQUEST['citta'] && !$_REQUEST['attivita']) {  
  $sql = mysql_query("SELECT FROM lavori WHERE citta='" . mysql_real_escape_string($_REQUEST['citta']) . "'");  
  // esegui la query e visualizza i record dei lavori torvati per ogni città  
  echo '<select name="lavori" size="1">';  
  while ($row = mysql_fetch_assoc($sql)) {  
    echo '<option value="' . $row['id_lavoro'] . '">' . $row['lavoro'] . '</option>';  
  }  
  echo '<select>';
 

AndreaeNoemi

Nuovo Utente
18 Dic 2012
24
0
1
Ciao e grazie per la correzione.

Io conosco le basi di php, ma non capisco come applicare questo codice, ho guardato moltissimi tutorial in rete ma non ho trovato nulla che mi abbia chiarito questo codice e a capire come muovermi per realizzare quello che desidero cioè questo risultato!! Per farti capire, se dovessi applicare un semplice "if ed else" variabili o anche un array saprei come muovermi ma non capisco come posso applicare questo codice e far funzionare il tutto.

Sai indicarmi un punto specifico di una guida che possa aiutarmi a capire come applicare questo codice? o se no mi sai dare tu qualche indicazione?
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Ciao e grazie per la correzione.

Io conosco le basi di php, ma non capisco come applicare questo codice, ho guardato moltissimi tutorial in rete ma non ho trovato nulla che mi abbia chiarito questo codice e a capire come muovermi per realizzare quello che desidero cioè questo risultato!! Per farti capire, se dovessi applicare un semplice "if ed else" variabili o anche un array saprei come muovermi ma non capisco come posso applicare questo codice e far funzionare il tutto.

Sai indicarmi un punto specifico di una guida che possa aiutarmi a capire come applicare questo codice? o se no mi sai dare tu qualche indicazione?
Mi sembra un po troppo vago, spiegati meglio oppure scrivi qual'è il risultato che intendi visualizzare per trovare una qualche guida, comunque lo script sopra stampa semplicemente una select se vengono inviate quelle variabili, quindi ti basta gestire quelle e aggiungere la configurazione di mysql
 

AndreaeNoemi

Nuovo Utente
18 Dic 2012
24
0
1
Cerco di spiegarmi meglio.
Intanto il risultato esatto che voglio ottenere è questo: http://www.matrimonio.it/cerca/arredamento/roma

Andando con ordine, non ho capito come devo applicare questa cosa:
basterebbe passare ad una unica pagina un URL con parametri tipo lavori.php?citta=padova&attivita=giardinieri o lavori.php?citta=padova&attivita=1 per farlo basta creare la stringa così con la seguente funzione PHP:
PHP:
header("Location = lavori.php?citta=" . $_POST['citta'] . "&attivita=" . $_POST['attivita']);
 

AndreaeNoemi

Nuovo Utente
18 Dic 2012
24
0
1
Ok, grazie delle risposte intanto.
Andando avanti nello sviluppo del codice (mi sono fatto aiutare da una persona) sono arrivato a questo risultato. Ma come potete vedere dalla pagina c'è qualcosa che non funziona.

Lo script contiene due select e richiama dei dati da un database mysql che in teoria dovrebbero venir stampati su una pagina...ma purtroppo c'è qualcosa che non funziona, non trova nulla nel database.

PHP:
<?php 
  if ($_REQUEST['ok']) { 
    $cittaID = $_POST['citta']; 
    $mestiereID = $_POST['mestieri']; 
  } 
?> 
<!DOCTYPE HTML> 

<html> 

<head> 
  <title>PROVA SELECT CON PHP</title> 
  <meta charset="utf-8" /> 
</head> 

<body> 
  <form id="sel" method="post" action="emulman.php?ok=1"> 
    <div><label for="citta">Citt&agrave;</label> 
    <select name="citta" id="citta" size="1" tabindex="1" onchange="location.href='emulman.php?ok=1'"> 
    <?php 
      $link = mysql_connect('localhost', 'nozzeprova', '');//utente e passw 
      if (!$link) 
        echo '<script>alert("Could not connect: ' . mysql_error() . ')</script>'; 
      else { 
        $db_selected = mysql_select_db('my_nozzeprova', $link);//nome del mio database my_nozzeprova 
        if (!$db_selected) 
          echo '<script>alert("Cannot use database: ' . mysql_error() . ')</script>'; 
        else { 
          $result = mysql_query("SELECT * FROM citta ORDER BY nome ASC"); 
          if (mysql_num_rows($result) < 1) 
            echo "No rows found, nothing to print so am exiting"; 
           else { 
             while ($row = mysql_fetch_assoc($result)) { 
               if ($_REQUEST['ok']) 
                 echo '<option value="' . $row['ID_CITTA'] . '"' . selected($row['ID_CITTA'], $cittaID) . '>' . $row['nome'] . '</option>'; 
               else 
                echo '<option value="' . $row['ID_CITTA'] . '">' . $row['nome'] . '</option>'; 
             } 
           } 
         } 
       } 
      mysql_close($link); 
    ?> 
   </select></div> 
                        e 
   <div><label for="mestieri">Mestiere</label> 
    <select name="mestier" id="mestiere" size="1" tabindex="1" onchange="location.href='emulman.php?ok=1'"> 
    <?php 
      $link = mysql_connect('localhost', 'nozzeprova', '');//utente e passw 
      if (!$link) 
        echo '<script>alert("Could not connect: ' . mysql_error() . ')</script>'; 
      else { 
        $db_selected = mysql_select_db('my_nozzeprova', $link);//nome del mio database my_nozzeprova 
        if (!$db_selected) 
          echo '<script>alert("Cannot use database: ' . mysql_error() . ')</script>'; 
        else { 
          $result = mysql_query("SELECT * FROM mestieri ORDER BY nome ASC"); 
          if (mysql_num_rows($result) < 1) 
            echo "No rows found, nothing to print so am exiting"; 
           else { 
             while ($row = mysql_fetch_assoc($result))  { 
               if ($_REQUEST['ok']) 
                 echo '<option value="' . $row['ID_MESTIERE'] . '"' . selected($row['ID_MESTIERE'], $cittaID) . '>' . $row['nome'] . '</option>'; 
               else 
                 echo '<option value="' . $row['ID_MESTIERE'] . '">' . $row['nome'] . '</option>'; 
             } 
           } 
         } 
       } 
      mysql_close($link); 
    ?> 
   </select></div> 
   <input type="submit" name="invia" value="Cerca"> 
   <?php 
     if ($_REQUEST['ok']) { 
       $link = mysql_connect('localhost', 'nozzeprova', '');//utente e passw 
       if (!$link) { 
         die('Could not connect: ' . mysql_error()); 
       } 
       $db_selected = mysql_select_db('my_nozzeprova', $link);//nome del mio database my_nozzeprova 
       if (!$db_selected) { 
         die ('Can't use foo : ' . mysql_error()); 
       } 
       $result = mysql_query("SELECT * FROM aziende WHERE id_citta = " . $cittaID . " AND id_mestiere = " . $mestiereID); 
       if (mysql_num_rows($result) < 1) { 
         echo "No rows found, nothing to print so am exiting"; 
         exit; 
       } 
       echo '<table id="lavori"><caption>AZIENDE IN ' . $citta($cittaID) . ' LAVORI ' . $lavori($mestiereID) . '</caption>'; 
       echo '<tr><th>Citta</th></td><td>Descrizione</td></tr>'; 
       while ($row = mysql_fetch_assoc($result)) { 
         echo '<tr><td>' . $row['nome'] . '</td><td>' . $row['descrizione'] . '</td></tr>'; 
       } 
       echo '</table>'; 
     } 
     ?> 
   </form> 
  </body> 
</html> 
<?php 
  function selected($val1, $val2) { 
    $val1 = trim($val1); 
    $val2 = trim($val2); 
    if ($val1 == $val2) 
      return " selected"; 
    else 
      return ""; 
  } 

  function cittaID($id) { 
     $link = mysql_connect('localhost', 'nozzeprova', '');//utente e passw 
     if (!$link) { 
       die('Could not connect: ' . mysql_error()); 
     } 
     $db_selected = mysql_select_db('my_nozzeprova', $link);//nome del mio database my_nozzeprova 
     if (!$db_selected) { 
       die ('Can't use foo : ' . mysql_error()); 
     } 
     $result = mysql_query("SELECT * FROM citta WHERE ID_CITTA = " . $citta); 
     if (mysql_num_rows($result)) { 
       $row = mysql_fetch_assoc($result); 
       $citta = $row['nome']; 
     } 
     mysql_free_result($result); 
     mysql_close($link); 
     return $citta; 
  } 

  function lavori($id) { 
     $link = mysql_connect('localhost', 'nozzeprova', '');//utente e passw 
     if (!$link) { 
       die('Could not connect: ' . mysql_error()); 
     } 
     $db_selected = mysql_select_db('my_nozzeprova', $link);//nome del mio database my_nozzeprova 
     if (!$db_selected) { 
       die ('Can't use foo : ' . mysql_error()); 
     } 
     $result = mysql_query("SELECT * FROM mestieri WHERE ID_MESTIERE = " . $mestiere); 
     if (mysql_num_rows($result)) { 
       $row = mysql_fetch_assoc($result); 
       $lavoro = $row['nome']; 
     } 
     mysql_free_result($result); 
     mysql_close($link); 
     return $lavoro; 
  } 
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
verifica lo script hai sballato qualche apice (vedi istruzioni di php in rosso),
penso che sia qui
PHP:
die ('Can't use foo : ' . mysql_error());
correggi in
PHP:
die ('Can\'t use foo : ' . mysql_error());
 
Discussioni simili
Autore Titolo Forum Risposte Data
R visualizzare risultati query utilizzando le funzioni PHP 0
G visualizzare risultati ricerca dopo form nella stessa pagina e mantenimento filtri PHP 1
G Visualizzare risultati di un databse in pdf...(tramite librerie?) PHP 3
A Visualizzare Risultati di una query in una tabella PHP 3
M [C .net] Visualizzare i risultati .NET Framework 0
I visualizzare lista utenti registrati PHP 1
N php problemi a visualizzare video PHP 3
P come posso visualizzare l'nvr online IP Cam e Videosorveglianza 0
K Visualizzare del html responsive in una Webview Sviluppo app per Android 0
M Visualizzare ultima data registrata MS Access 2
G Numero zero null non deve visualizzare nulla PHP 0
D visualizzare solo foto filtrate jQuery 1
M Visualizzare nuove domande in base a risposta precedente PHP 0
N Non Autorizzato. Dovresti rimuovere il parametro customize_messenger_channel per visualizzare l'anteprima in frontend. WordPress 1
M visualizzare ip cam in windows IP Cam e Videosorveglianza 0
W visualizzare solo file html e sottocartelle di una cartella PHP 1
napuleone visualizzare il codice senza usare gli & HTML e CSS 1
Y Come caricare e visualizzare un'immagine PHP 0
M Visualizzare file PDF con link preso dal DB PHP 0
Alex_70 Visualizzare 2 bandiere PHP 6
Alex_70 Visualizzare anteprima foto in dropdown PHP 2
L Visualizzare tabella all'interno finestra modal PHP 4
P Visual Studio VB.NET Visualizzare un messaggio alla scadenza. .NET Framework 0
J [PHP] Visualizzare risultato query stessa pagina PHP 3
B visualizzare una sola riga Database 3
Alex_70 [PHP] Visualizzare foto tramite select PHP 0
K [ASP] Visualizzare nome del file selezionato Classic ASP 3
M [PHP] Visualizzare un array partendo dal numero 1 e non 0 PHP 5
L [PHP] Visualizzare utente dopo login PHP 0
L [PHP] Visualizzare se una pagina è pingata PHP 1
M [PHP] Visualizzare nell'alert il calcolo PHP 4
D [WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato WordPress 0
L come visualizzare array di oggetti php PHP 9
S [PHP] visualizzare commento su un prodotto precedentemente selezionato PHP 2
V [Javascript] Visualizzare o nascondere div figlio Javascript 4
W [PHP] Visualizzare errori su Statements in MySQLi PHP 3
S [javascript] visualizzare/nascondere div Javascript 3
felino [Javascript] [jQuery] Slick Carousel: visualizzare una porzione dell'immagine successiva Javascript 0
W [Javascript] Visualizzare l'href di un link nascosto Javascript 0
L [HTML] Problemi a visualizzare le modifiche eseguite alle pagine del sito. HTML e CSS 2
G [HTML] Visualizzare iframe in un blog non funziona sempre xchė? HTML e CSS 3
tritabit [HTML] Visualizzare stelle tipo rating HTML e CSS 5
A Visualizzare div quando le immagini sono state uploadate con successo (Ajax) Ajax 0
T Visualizzare un Xml su un sito in modo semplice XML 1
F Visualizzare data in formato gg/mm/aaaa da database mysql. PHP 3
M [PHP] Visualizzare record nel db PHP 2
M Visualizzare immagini in PHP - MYSQL PHP 0
M Visualizzare immagini da DB in php PHP 0
ecosito [WordPress] Visualizzare una mappa con i pin dei post tramite GPS? WordPress 4
G [PHP] CodeIgniter - Visualizzare singolo risultato PHP 4

Discussioni simili