Newsgroup: it.comp.www.php
Titolo: Menu a discesa con selezione multipla e variabili in php

Salve a tutti,
quando creo un form html che contiene un menu a discesa con selezione 
multipla, in quale modo viene passato come parametro al PHP ?
in questo esempio riesco a far stampare solo l'ultimo valore...
<?PHP
   print $scelta;
?>
<html>
  <head>
  </head>
  <body>
   <form method="POST" action="<?=$PHP_SELF">
    <select size="4" name="scelta" multiple>
     <option value="bla">bla</option>
     <option value="blo">blo</option>
     <option value="ble">ble</option>
    </select><input type="submit" value="Invia" name="invia">
   </form>
  </body>
</html>
grazie a chi potesse aiutarmi e scusate se l'argomento è già stato discusso
ciao
Alesi_27

<?PHP
   print $scelta;
?>
<html>
  <head>
  </head>
  <body>
   <form method="POST" action="<?=$PHP_SELF"> //  action=<?$PHP_SELF?>>
(manca un > )


 (manca un > )
su questo siamo daccordo, ma il problema rimane...
la domanda era come si "leggono" da php tutti i valori di un menů a 
discesa che consenta selezioni multiple
ciao
Alesi_27

non ho capito bene :)
in base alla selezione vuoi fare qualcosa o vuoi semplicemente
"estrappolare" le diverse selezioni da un dato form ?
ciao

 ciao
ciao
Alesi_27

 problema, per me, è sapere come leggere i valori selezionati
be allora è semplice
quando tu invi un form il nome dell' input diventa una variabile (e' il
valore diventa quello della variabile quindi) ,  in questo caso
scelta
diventa  $scelta="bla"; // blo o ble    (a seconda di quello che si è scelto
.. )
poi invi la query di cancellazione al db con questa variabile ..
ciao e speriamo bene

 ciao e speriamo bene
Io avrei un problema simile, dovendo cancellare tra tutte le tuple
stampate a video (da un select *) solo quelle contrassegnate dal
checkbox a lato...non ho molta dimestichezza con queste cose, mi
sapete aiutare?

 ha scritto nel messaggio
news:3CC88E4B...@free.panservice.it...

Basta usare gli array...
<select size="4" name="scelta" multiple> ---> <select size="4"
name="scelta[]" multiple>
in questo modo passi allo script un array con tutti i valori selezionati. Se
non usi le quadre ti passa solo un valore...
Poi sull'array che ricevi ci fai quello che vuoi.
--
Stefano Vita Finzi Zalman
ho...@despammed.com
"Air Force Four-Five, it appears your engine has...oh, disregard...I see
you've already ejected."

 Poi sull'array che ricevi ci fai quello che vuoi.
grazie mille era proprio quello che mi serviva :)
ciao
Alesi_27

sapete aiutare?
Do per scontato che ogni tupla abbia un ID univoco. Allora basta
che quando stampi la tupla, in un <TR>...</TR>, tu aggiunga
<TD>
	<INPUT TYPE="CHECKBOX" NAME="DELETE[]" VALUE="$ID">
</TD>
</TR>
La form ricevera' un array DELETE[] popolato dai valori critici,
con valore "on". Quindi:
	$IDS = '';
	$cmm = '';
	// Costruisco parte del comando SQL
	while(list($key,$val)=each($_REQUEST['DELETE']))
	{
		if ('on'!=$val)
			continue;
		$IDS .= "$cmm'" . AddSlashes(StripSlashes($key)) . "'";
		$cmm = ', ';
	}
	// Se c'e' qualcosa da cancellare...
	if (''!=$IDS)
	{
		// ...si cancella.
		$SQLCommand = "DELETE FROM table WHERE ID IN ($IDS);";
		if (0!=SQLDo($conn, $SQLCommand))
		{
			// Segnala errore
			...
		}
	}
Leonardo