View Full Version : [PHP] Select/Option
Traxsung
06-08-2006, 13:14
Devo gestire tramite php le select/option.
Praticamente devo fare in modo che se io ho una una Select/Option di nome Calciatori
Calciatori
- Nome
- Cognome
Se si selezione Nome ci sarà un label del tipo:
Nome: -Alessandro
-Fabio
-Andrea
Se selezione Cognome ci sarà:
Cognome: -Del piero
-Cannavaro
-Pirlo
Come potrei fare??
Grazie
Devo gestire tramite php le select/option.Quindi, se ho capito bene, dovresti avere una select fissa (nome/cognome) e poi selezionando uno dei due valori, dovrebbe comparire una seconda select con una lista di nomi oppure una lista di cognomi. Giusto??
Si può fare a 2 livelli diversi:
A) Tramite Javascript ricevi l'evento che indica che è stata selezionata una opzione. A quel punto fai caricare una nuova pagina e tramite PHP "generi" tutto il codice per realizzare la seconda select.
B) Tramite Javascript ricevi l'evento che indica che è stata selezionata una opzione. A quel punto tramite Javascript e DHTML crei una seconda select e la riempi con i dati voluti. In questo caso tutto si svolge lato "client" all'interno del browser.
Traxsung
06-08-2006, 16:32
non è possibile fare tutto tramite php?? sai... non vorrei che magari l'utente abbia javascript disabilitato e quindi non funziona.
Cmq... potrei chiederti qualche porzione di codice d'esempio ??
Grazie
non è possibile fare tutto tramite php?? sai... non vorrei che magari l'utente abbia javascript disabilitato e quindi non funziona.Senza usare Javascript, dovresti mettere un form con la select e un pulsante di invio. A quel punto quando invii il form tramite il pulsante di submit, la pagina php legge l'opzione scelta e crea la nuova pagina inserendo la seconda select.
Se invece vuoi che il tutto si "scateni" soltanto selezionando un elemento della prima select ... hai bisogno per forza di Javascript.
Cmq... potrei chiederti qualche porzione di codice d'esempio ??Sì, non avrei problemi a scriverlo ma ... non in questo momento. Magari stasera.
Traxsung
06-08-2006, 17:00
ok...allora vada per javascript perchè è proprio quello che voglio ottenere. Cmq se hai tempo ti ringrazio per la cortesia
Ecco un bel esempio (con le mie attrici preferite invece dei calciatori :p ):
<?php
if (isset ($_POST['ordine']))
$ordine = $_POST['ordine'];
else
$ordine = "0";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Prova select</title>
<script type="text/javascript">
<!--
function invia()
{
document.form1.submit();
}
//-->
</script>
</head>
<body>
<form name="form1" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<p>
<select name="ordine" onchange="invia()">
<option value="0"<?php echo ($ordine == "0" ? " selected=\"selected\"" : ""); ?>>----- seleziona -----</option>
<option value="1"<?php echo ($ordine == "1" ? " selected=\"selected\"" : ""); ?>>Attrici per nome</option>
<option value="2"<?php echo ($ordine == "2" ? " selected=\"selected\"" : ""); ?>>Attrici per cognome</option>
</select>
</p>
<?php if ($ordine == "1") { ?>
<p>
<select name="nome" onchange="">
<option value="0">Catherine Bell</option>
<option value="1">Julia Stiles</option>
<option value="2">Kaley Cuoco</option>
<option value="3">Kate Beckinsale</option>
<option value="4">Liv Tyler</option>
</select>
</p>
<?php } elseif ($ordine == "2") { ?>
<p>
<select name="nome" onchange="">
<option value="3">Kate Beckinsale</option>
<option value="0">Catherine Bell</option>
<option value="2">Kaley Cuoco</option>
<option value="1">Julia Stiles</option>
<option value="4">Liv Tyler</option>
</select>
</p>
<?php } ?>
<p>
<input type="submit" value="INVIA">
</p>
</form>
</body>
</html>Nota che selezionando un ordine viene chiamata la funzione Javascript invia() che invia immediatamente il form.
Se Javascript fosse disabilitato, l'invio non avverrebbe in automatico. C'è comunque il pulsante di INVIA che permette di farlo manualmente. ;)
Traxsung
06-08-2006, 20:29
andbin ti ringrazio... gentilissimo come sempre.
Faccio le mie prove e ti faccio sapere
Grazie
Traxsung
02-09-2006, 22:57
andbin... ho provato lo script che mi hai passato (in locale con Easyphp) e mi da questo errore:
Forbidden
You don't have permission to access /test/< on this server.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.