ListBox (selezione multipla)

skate84

Utente Attivo
16 Mag 2009
83
0
0
ciao,

non riesco a creare un menu a tendina con selezione multipla(listbox).

In questo modo creo un semplice menu a tendina "scelta singola".

PHP:
<tr><td> Gruppo </td>
			<td>
				<select name='gruppo'>
				<?php
			  		$sel = "SELECT id_gruppo, nome_gruppo FROM gruppi";
			  		$res = mysql_query($sel) or die("Errore nella select");
			  		while($arr = mysql_fetch_array($res)) {
			     		echo "<option value=\"" . $arr[0] . "\">" . $arr[1] . "";
			  		}
			  	?>
			  	</select>
			</td>
		</tr>


Praticamente ho una form dove, l'admin può riempirla. Devo gestire questa listbox per i gruppi, visto che un utente può essere in più gruppi quindi avrò le tabelle iscritti, gruppi e gruppi_iscritti.

Il mio problema è tirare su i dati dal db nel menu a tendina "selezione multipla".

Spero di essere stato chiaro ;)
 

skate84

Utente Attivo
16 Mag 2009
83
0
0
Ho dato un occhiata ma non mi aiuta molto.

Ho provato a mettere giù questa cosa come esempio:

PHP:
<?php
     include ("connect.php");

     $sql = "SELECT id_gruppo, nome_gruppo FROM gruppi";
     $res = mysql_query($sql) or die ("Errore nella select");
?>

<form method="post" action="test_listbox.php">
    <select name="gruppo[]" multiple="multiple">
         <?php
               while ($row = mysql_fetch_array($res)){
                               echo "<option value=\"gruppo[".$row["id_gruppo"]."]\">".$row["nome_gruppo"]."";
               }
         ?>
    </select>
</form>

In questo modo dovrebbe funzionare!!!!
 
Ultima modifica:

skate84

Utente Attivo
16 Mag 2009
83
0
0
Ho questo problema che non riesco a risolvere...

Ho inserito nella form la listbox sopra...fin qui tutto ok.

Praticamente nella form ci sono campi di due tabelle iscritti e gruppi.

Per inserire i dati ho fatto 2 insert per ogni tabella con nomi diversi ($query e $query2). Il problema è che nella tabella iscritti mi inserisce tutto mentre nella tabella news_gruppi(tabella ponte tra iscritti e gruppi) mi inserisce l'id che recupero nella tabella iscritti ma niente nel campo id_gruppo.

Spero di essere stato chiaro nella spiegazione.

Vi posto i 2 codici il problema sta nell'array del gruppo quando passo i valori nella seconda pagina.


PHP:
<?php
			$date = new DateTime();	
			$annoCorrente = $date->format('Y');
		?>
		
		<h2>Tutti i campi sono da compilare!</h2>
		<br/>
		<form method="post" action="?indice=201">
		<table>
		<tr><td>Email</td>
			<td><input type="text" name="email" size="40"></td>
		</tr>
		<tr><td> Cognome </td>
			<td><input type="text" name="cognome" size="40"></td>
		</tr>
		<tr><td> Nome </td>
			<td><input type="text" name="nome" size="40"></td>
		</tr>
		<tr><td> Indirizzo </td>
			<td><input type="text" name="indirizzo" size="40"></td>
		</tr>
		<tr><td> Nap </td>
			<td><input type="text" name="nap" size="10"></td>
		</tr>
		<tr><td> Domicilio </td>
			<td><input type="text" name="domicilio" size="40"></td>
		</tr>
		<tr><td> Nazione </td>
			<td><input type="text" name="nazione" size="40"></td>
		</tr>
		<tr><td> Anno di nascita </td>
			<td><select name="anno">
						<option value="0">...</option>
						<?php
		
							for ($i=0;$i<=100;$i++){
								echo "<option value=\" ".$annoCorrente." \">".$annoCorrente."</option>";
								$annoCorrente -= 1;	
							}
						?>
				</select>
			</td>
		</tr>
		<tr><td> Sesso </td>
			<td>Uomo<input type="radio" name="sesso" value="m">
				Donna<input type="radio" name="sesso" value="f">
			</td>
		</tr>
		<tr><td> Gruppo </td>
			<td>
				<select name="gruppo[]" multiple="multiple">
			    <?php
			    	$sql = "SELECT id_gruppo, nome_gruppo FROM gruppi";
					$res = mysql_query($sql) or die("Errore nella select");
					while ($row = mysql_fetch_array($res)){
							
								echo "<option value=\"gruppo[".$row["id_gruppo"]."]\">".$row["nome_gruppo"]."";
							
					}
			    	
			    ?>
			</td>
		</tr>
		<tr><td> Lingua </td>
			<td>	
				<?php
			  		$sel = "SELECT id_lingua, lingua FROM lingue";
			  		$res = mysql_query($sel) or die("Errore nella select");
			  		while($arr = mysql_fetch_array($res)) {
			     		echo $arr[1]."<input type='radio' name='linguaNuovoIscritto' value='".$arr[0]."'>";
			  		}
			  	?>

			</td>
		</tr>
						
		
		<tr><td><input type="submit" name="submit" value="Invia"></td></tr>
		</form>
		</table>


PHP:
<?php
	
		$data = date("Y-m-d");
	
	//pulitura dei campi da stringhe pericolose
		$email = trim(stripslashes($_POST['email']));
		$cognome = trim(stripslashes($_POST['cognome']));
		$nome = trim(stripslashes($_POST['nome']));
		$indirizzo = trim(stripslashes($_POST['indirizzo']));
		$nap = trim(stripslashes($_POST['nap']));
		$domicilio = trim(stripslashes($_POST['domicilio']));
		$nazione = trim(stripslashes($_POST['nazione']));
		$anno = $_POST['anno'];
		$sesso = $_POST['sesso'];
		$gruppo = $_POST['gruppo'];
			foreach ($gruppo as $valore){
			//	echo $valore;
			}
		$linguaNuovoIscritto = $_POST['linguaNuovoIscritto'];
		
		$email = mysql_real_escape_string($email);
		$cognome = mysql_real_escape_string($cognome);
		$nome = mysql_real_escape_string($nome);
		$indirizzo = mysql_real_escape_string($indirizzo);
		$nap = mysql_real_escape_string($nap);
		$domicilio = mysql_real_escape_string($domicilio);
		$nazione = mysql_real_escape_string($nazione);
		
		$email = htmlentities($email);
		$cognome = htmlentities($cognome);
		$nome = htmlentities($nome);
		$indirizzo = htmlentities($indirizzo);
		$nap = htmlentities($nap);
		$domicilio = htmlentities($domicilio);
		$nazione = htmlentities($nazione);

	
	//controllo che tutti i campi siano stati compilati
		if (( $email == "" ) || ( $cognome == "" ) || ( $nome == "" ) || ( $indirizzo == "" ) || ( $nap == "" ) || ( $domicilio == "" ) || ( $nazione == "" ) || ( $anno == "" ) || ( $sesso == "" ) || ( $gruppo == "" ) || ($linguaNuovoIscritto == "" )) 
		{
			echo "<h3>Errore!</h3><br>I campi sono obbligatori. Deve compilare tutti i campi per continuare<br>
			La preghiamo di <A HREF=\"javascript:history.go(-1)\">tornare indietro e correggere</A>. Grazie";
		}
	//controllo campo email richiamando la funzione
		else if ((ControlloEmail($_POST['email']))== false)
		{
			echo "Email non valida o non inserita!";
		}
	//controllo che il campo cognome sia di soli caratteri alfanumerici richiamando la funzione
		else if ((ControlloCognome($_POST['cognome']))== false)
		{
			echo "Cognome non valido o campo non compilato!";
		}
	//controllo che il campo nome sia di soli caratteri alfanumerici richiamando la funzione
		else if ((ControlloNome($_POST['nome']))== false)
		{
			echo "Nome non valido o campo non compilato!";
		}
	//controllo che il campo nap sia numerico richiamando la funzione
		else if ((ControlloNap($_POST['nap']))== false) 
		{
			echo "Nap non valido o non inserito!";
		}
	//controllo che il campo domicilio sia di soli caratteri alfanumerici richiamando la funzione
		else if ((ControlloDomicilio($_POST['domicilio'])) == false)
		{
			echo "Domicilio non valido o campo non compilato!";
		}
	//controllo che il campo nazione sia di soli caratteri alfanumerici richiamando la funzione
		else if ((ControlloNazione($_POST['nazione'])) == false)
		{
			echo "Nazione non valida o campo non compilato!";
		}
		else
		{
	//inserisco i dati completati nel formulario all'interno della banca dati
			$query = "insert into newsletter" . "(email, cognome_nl, nome_nl, indirizzo, nap, domicilio, nazione, anno_nascita, sesso, data_iscrizione, id_lingua)" .
			"VALUES('" . $_REQUEST['email'] . "', '" . $_REQUEST['cognome'] . "', '" . $_REQUEST['nome'] . "', '" . $_REQUEST['indirizzo'] . "', '" . $_REQUEST['nap'] . "', '" . $_REQUEST['domicilio'] . "', '" . $_REQUEST['nazione'] . "', '" . $_REQUEST['anno'] . "', '" . $_REQUEST['sesso'] . "', '" . $data . "', '" . $_REQUEST['linguaNuovoIscritto'] . "')";
			
			if(!mysql_query($query, $db))
			{
			print("Attenzione, impossibile inserire il record");
			}
		else
			{
			print("Hai completato il formulario senza problemi. I dati sono stati registrati.");
			}
	
	//recupero l'id appena inserito		
			$id_newsletter = mysql_insert_id();
			
			$query2 = "insert into news_gruppi" . "(id_newsletter, id_gruppo)" . "VALUES('" . $id_newsletter . "', '" . $_REQUEST['gruppo'] . "')";
			
					
		if(!mysql_query($query2, $db))
			{
			print("Attenzione, impossibile inserire il record");
			}
		else
			{
			print("Hai completato il formulario senza problemi. I dati sono stati registrati.");
			}
		
		
		
		mysql_close($db);
		}

	?>
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
S [VB 17]: Eliminare doppioni in listbox Visual Basic 1
L listbox e query PHP 13
A [VBA] eliminare caratteri ASCII da ListBox .NET Framework 2
A Creare una listbox a cui interagire Javascript 1
M Copiare valore listbox in textbox PHP 2
S Riempire textbox prendendo i dati selezionati da una listbox PHP 2
F Date/Time format & multiple selection with listbox problem in ASP.net & C# ASP.NET 0
O se seleziono una voce in un listbox rendo visibile un altro elemento Javascript 1
C spostare elementi listbox Javascript 0
I Selezione lingue in sito PHP 0
L Selezione rettangolare Photoshop 1
E problema selezione sfumata Photoshop 2
L Query e selezione DB con $_POST PHP 2
B Selezionare un'immagine e salvare la selezione Photoshop 3
F Immagine come fosse selezione attiva Photoshop 1
A Errore visualizzazione selezione testo Photoshop 0
R Filtro multiplo di selezione Sql PHP 2
maxnegri [Javascript] TinyDatePicker data format e selezione progressiva. Javascript 0
M [PHP] Selezione da menu a discesa con 2 variabili PHP 0
V access 2007, maschera con caselle di selezione Programmazione 4
M [PHP] Selezione record da elenco PHP 24
Tommy03 [PHP] Errore query selezione avg PHP 0
G [ASP] Incrementare un valore on the fly su selezione select Classic ASP 3
W [PHP] Come far funzionare un form di selezione PHP 12
U [PHP] Selezione con menu a tendina e recupero selezione PHP 5
S [WordPress] [HTML] Bordo di selezione area - Link di ancoraggio WordPress 3
A [Javascript] Selezione dinamica video Javascript 0
A [Javascript] Selezione dinamica Javascript 27
F Alert selezione checkbox jQuery 6
gandalf1959 mysql, selezione dati ricorrenti più volte PHP 8
E [PHP] selezione automatica lingua PHP 14
S [PHP] Selezione dati con riferimento ad altra colonna tabella PHP 22
F Mantenere selezione immagine Javascript 1
N selezione elementi Javascript 0
asevenx Cerco plugin per gestire appuntamenti con agenda e campi di selezione WordPress 4
M Visualizzare tabella in base a selezione PHP 1
G L'interno della selezione non cambia Photoshop 1
M Cambiare valore ad un campo in base alla selezione fatta nel menu a tendina PHP 16
Marco_88 Verificare la selezione degli elementi dom jQuery 2
L Selezione dinamica da form. PHP 0
M selezione da più tabelle PHP 1
F Problema selezione dinamica select/jsp/mysql Javascript 0
L elenco file immagini con checkbox di selezione PHP 1
K errore durante la selezione del Database PHP 2
D Selezione di dati da più tabelle in Mysql PHP 3
L Selezione elementi nel menù in base ad una select jQuery 1
M [risolto] Passaggio valore tramite link per selezione dati su database. PHP 3
blips Update basato sulla selezione dell'utente PHP 0
A Visualizzare albero DOM completo oppure Visualizzare Nodi che fanno parte di una Selezione Javascript 6
C Sviluppo chat con particolari criteri di selezione per web-app su mobile Offerte e Richieste di Lavoro e/o Collaborazione 1

Discussioni simili