- Home
- Categorie
- Coding e Sistemistica
- Coding
- Domanda apparentemente stupida...
- 
							
							
							
							
							Domanda apparentemente stupida...Ciao a tutti!  Per la seconda volta ho bisogno del vostro aiuto... Per la seconda volta ho bisogno del vostro aiuto...
 Come faccio a fare un inserimento in un DB con menu a tendina come in Access?
 E poi come faccio a visualizzarla in un'altra pagina utilizzando dei valori sempre sfruttando questo tipo di menu? E' davvero un casino... Grazie in anticipo per le vostre risposte!
 
- 
							
							
							
							
							Dici menu come la barra del nostro Forum? 
 Quello con il nick in arancione?
 
- 
							
							
							
							
							Esattamente come quello, ma non a comparsa della tendina al passaggio! 
 
- 
							
							
							
							
							Ah! Ho dimenticato di indicare che i dati del menu devono essere importati dal DB in modo automatico (attraverso inserimento normalissimo per intenderci)! 
 
- 
							
							
							
							
							Ciao SantuzzoHendrix, 
 puoi usare un input di tipo select per creare il form.
 
- 
							
							
							
							
							Ah! Quindi con una query semplicissima? 
 
- 
							
							
							
							
							No, per select intendevo questo: <select name="auto"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select>
 
- 
							
							
							
							
							Ah! Ok... Ma se volessi prendere da DB devo fare: while ($row = mysql_fetch_assoc($result)) //$result è la query di selezione 
 {
 $auto = htmlentities($row['Auto']);
 <select name="auto">
 <option><?php echo $auto ?></option>
 <?php
 }Giusto? 
 
- 
							
							
							
							
							Non proprio, sarebbe cosi: 
 [php]
 echo '<select name="auto">';
 while ($auto = mysql_fetch_assoc($result)) //$result è la query di selezione
 echo '<option value="'.$auto['id'].'">'.$auto['nome'].'</option>';
 echo '</select>';
 [/php]Deve essere inserito dentro il form per essere inviato.
 
- 
							
							
							
							
							Ah! Ok... Grazie! 
 
- 
							
							
							
							
							E se volessi inserirli in una tabella? 
 
- 
							
							
							
							
							Beh è uguale, devi ciclarli per creare le righe come vuoi tu. 
 
- 
							
							
							
							
							Per la tabella ho risolto così: <?php 
 $sql = " ";
 $sql = "SELECT * FROM strum;";
 $result = mysql_query($sql);
 ?>
 <tr>
 <td align="center">Strumento utilizzato ></td>
 <td align="center"><?php echo '<select name="strumento">';
 while ($strumento = mysql_fetch_assoc($result))
 echo '<option value="'.$strumento['Matricola_strumento'].'">'.$strumento['Strumento'].'</option>';
 echo '</select>'; ?></td>
 </tr>Ma ora per visualizzare i dati inseriti così? 
 
- 
							
							
							
							
							Beh sono sempre query per inserire e recuperare i dati dal database, dovresti studiare come funzionano le query. 
 
- 
							
							
							
							
							Ah, quindi prendo la scelta e la inserisco nella query come adesso... Penso che il MySQL e il PHP siano i migliori linguaggi di programmazione che siano mai stati costruiti! XD 
 
- 
							
							
							
							
							Ho bisogno un'ultima volta... Questo è il mio codice della prima pagina php: <html lang="en"> 
 <head>
 <title>Visualizzazione strumenti</title>
 </head>
 <body>
 <marquee width="100%" direction="left" scrollamount="8"><img src="img/logo.jpg" /></marquee>
 <br />
 <br />
 <script language="JavaScript">
 <!--
 data = new Date();
 ora =data.getHours();
 minuti=data.getMinutes();
 giorno = data.getDay();
 mese = data.getMonth();
 date= data.getDate();
 year= data.getYear();
 if(minuti< 10)minuti="0"+minuti;
 if(year<1900)year=year+1900;
 if(ora<10)ora="0"+ora;
 if(giorno == 0) giorno = " DOMENICA ";
 if(giorno == 1) giorno = " LUNEDI' ";
 if(giorno == 2) giorno = " MARTEDI' ";
 if(giorno == 3) giorno = " MERCOLEDI' ";
 if(giorno == 4) giorno = " GIOVEDI' ";
 if(giorno == 5) giorno = " VENERDI' ";
 if(giorno == 6) giorno = " SABATO ";
 if(mese == 0) mese = "GENNAIO ";
 if(mese ==1) mese = "FEBBRAIO ";
 if(mese ==2) mese = "MARZO ";
 if(mese ==3) mese = "APRILE ";
 if(mese ==4) mese = "MAGGIO ";
 if(mese ==5) mese = "GIUGNO ";
 if(mese ==6) mese = "LUGLIO ";
 if(mese ==7) mese = "AGOSTO ";
 if(mese ==8) mese = "SETTEBRE ";
 if(mese ==9) mese = "OTTOBRE ";
 if(mese ==10) mese = "NOVEMBRE ";
 if(mese ==11) mese = "DICEMBRE ";
 document.write("OGGI E' "+giorno+" "+date+" "+mese+" "+year+" - ORA "+ora+":"+minuti);
 //-->
 </script>
 <br />
 <br />
 <?php
 $conn = mysql_connect("localhost","root","");
 if (!$conn)
 {
 die('Connessione mancata con il root. Errore: ' . mysql_error());
 }
 $select = mysql_select_db("sabicom",$conn);
 if (!$select)
 {
 die("Errore nella connessione con il database. Errore: " . mysql_error());
 }
 $sql = "SELECT * FROM fornitori;";
 $result = mysql_query($sql);
 if (!$result)
 {
 die('Errore durante il trasferimento dei dati');
 }
 ?>
 <table border="1" width="100%">
 <tr>
 <td align="center">Fornitore</td>
 <td align="center"><?php echo '<select name="fornitore">';
 while ($fornitore = mysql_fetch_assoc($result))
 echo '<option value="'.$fornitore['Matricola_fornitore'].'">'.$fornitore['Fornitore'].'</option>';
 echo '</select>'; ?></td>
 <?php
 $sql = "SELECT * FROM marca;";
 $result = mysql_query($sql);
 if (!$result)
 {
 die('Errore durante il trasferimento dei dati');
 }
 ?>
 <td align="center">Marca</td>
 <td align="center"><?php echo '<select name="marca">';
 while ($marca = mysql_fetch_assoc($result))
 echo '<option value="'.$marca['Matricola_marca'].'">'.$marca['Marca'].'</option>';
 echo '</select>'; ?></td>
 <?php
 $sql = "SELECT * FROM utilizzatore;";
 $result = mysql_query($sql);
 if (!$result)
 {
 die('Errore durante il trasferimento dei dati');
 }
 ?>
 <td align="center">Utilizzatore</td>
 <td align="center"><?php echo '<select name="utilizzatore">';
 while ($utilizzatore = mysql_fetch_assoc($result))
 echo '<option value="'.$utilizzatore['ID'].'">'.$utilizzatore['Utilizzatore'].'</option>';
 echo '</select>'; ?></td>
 <?php
 $sql = "SELECT * FROM strum;";
 $result = mysql_query($sql);
 if (!$result)
 {
 die('Errore durante il trasferimento dei dati');
 }
 ?>
 <td align="center">Strumento</td>
 <td align="center"><?php echo '<select name="strumento">';
 while ($strumento = mysql_fetch_assoc($result))
 echo '<option value="'.$strumento['Matricola_strumento'].'">'.$strumento['Strumento'].'</option>';
 echo '</select>'; ?></td>
 </tr>
 </table>
 <form method="post" action="visual.php">
 <input type="submit" value="Visualizza" />
 </form>
 <br />
 <br />
 <form method="post" action="index.html">
 <div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
 </form>
 </body>
 </html>Questa è invece la seconda dove mi fa' visualizzare i dati: <html lang="en"> 
 <head>
 <title>Visualizzazione strumenti</title>
 </head>
 <body>
 <marquee width="100%" direction="left" scrollamount="8"><img src="img/logo.jpg" /></marquee>
 <br />
 <br />
 <script language="JavaScript">
 <!--
 data = new Date();
 ora =data.getHours();
 minuti=data.getMinutes();
 giorno = data.getDay();
 mese = data.getMonth();
 date= data.getDate();
 year= data.getYear();
 if(minuti< 10)minuti="0"+minuti;
 if(year<1900)year=year+1900;
 if(ora<10)ora="0"+ora;
 if(giorno == 0) giorno = " DOMENICA ";
 if(giorno == 1) giorno = " LUNEDI' ";
 if(giorno == 2) giorno = " MARTEDI' ";
 if(giorno == 3) giorno = " MERCOLEDI' ";
 if(giorno == 4) giorno = " GIOVEDI' ";
 if(giorno == 5) giorno = " VENERDI' ";
 if(giorno == 6) giorno = " SABATO ";
 if(mese == 0) mese = "GENNAIO ";
 if(mese ==1) mese = "FEBBRAIO ";
 if(mese ==2) mese = "MARZO ";
 if(mese ==3) mese = "APRILE ";
 if(mese ==4) mese = "MAGGIO ";
 if(mese ==5) mese = "GIUGNO ";
 if(mese ==6) mese = "LUGLIO ";
 if(mese ==7) mese = "AGOSTO ";
 if(mese ==8) mese = "SETTEBRE ";
 if(mese ==9) mese = "OTTOBRE ";
 if(mese ==10) mese = "NOVEMBRE ";
 if(mese ==11) mese = "DICEMBRE ";
 document.write("OGGI E' "+giorno+" "+date+" "+mese+" "+year+" - ORA "+ora+":"+minuti);
 //-->
 </script>
 <br />
 <br />
 <?php
 $conn = mysql_connect("localhost","root","");
 if (!$conn)
 {
 die('Connessione mancata con il root. Errore: ' . mysql_error());
 }
 $select = mysql_select_db("sabicom",$conn);
 if (!$select)
 {
 die("Errore nella connessione con il database. Errore: " . mysql_error());
 }
 if (isset($_POST['fornitore']))
 {
 $fornitori = $_POST['fornitore'];
 $sql = "SELECT * FROM strumenti WHERE Venduto_Dismesso = '2' AND ID = '".mysql_real_escape_string($fornitori)."' ORDER BY Utilizzatore;";
 $result = mysql_query($sql);
 if (!$result)
 {
 die('Errore durante il trasferimento dei dati');
 }
 ?>
 <table border="1" align="center" bordercolor="lightblue">
 <tr>
 <td align="center">Fornitore</td>
 <td align="center">Assistenza</td>
 <td align="center">Utilizzatore</td>
 <td align="center">Strumento</td>
 <td align="center">Marca</td>
 <td align="center">Modello</td>
 <td align="center">Descrizione</td>
 <td align="center">Venduto / Dismesso</td>
 <td align="center">Data di acquisizione</td>
 </tr>
 <?php
 while ($row = mysql_fetch_assoc($result))
 {
 $fornitore = htmlentities($row['Fornitore']);
 $assistenza = htmlentities($row['Assistenza']);
 $utilizzatore = htmlentities($row['Utilizzatore']);
 $strumento = htmlentities($row['Strumento']);
 $marca = htmlentities($row['Marca']);
 $modello = htmlentities($row['Modello']);
 $descrizione = htmlentities($row['Descrizione']);
 $vend_dism = htmlentities($row['Venduto_Dismesso']);
 $data_acquis = htmlentities($row['Data_acquisizione']);
 ?>
 <tr>
 <td align="center"><?php echo $fornitore ?></td>
 <td align="center"><?php echo $assistenza ?></td>
 <td align="center"><?php echo $utilizzatore ?></td>
 <td align="center"><?php echo $strumento ?></td>
 <td align="center"><?php echo $marca ?></td>
 <td align="center"><?php echo $modello ?></td>
 <td align="center"><?php echo $descrizione ?></td>
 <td align="center"><?php echo $vend_dism ?></td>
 <td align="center"><?php echo $data_acquis ?></td>
 </tr>
 <?php
 }?>
 </table>
 <?php
 mysql_free_result($result);
 mysql_close();
 }
 else
 {
 echo 'Errore. Nessun dato selezionato. ';?>
 <form action="search-visual.php" method="post">
 <input type="submit" value="Torna alla pagina precedente" />
 </form>
 <?php
 }
 ?>
 <br />
 <br />
 <form method="post" action="index.html">
 <div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
 </form>
 </body>
 </html>Ma nonostante abbia inserito solo Fornitore come controllo nella seconda pagina e inoltre nella prima ho inserito in maniera corretta sempre il fornitore, mi da sempre: Errore. Nessun dato selezionato. Come è possibile? 
 
- 
							
							
							
							
							Il select non è all'interno del form per cui non viene inviato.