PDA

View Full Version : FORM E PHP, help :)


Rogar
10-04-2005, 20:01
Salve a tutti ho un problema da risolvere relativo alla compilazione di campi di una form in php. Mi spiego subito meglio.

Ad esempio creo una form con al suo interno un classico Menu a cascata, con le varie opzioni fra cui poter scegliere.
Adesso però vorrei poter settare quelle ozpioni in modo dinamico, cioè vorrei che le opzioni di scelta variassero a secondo dei valori che ho inserito nel mio database a cui mi sono connesso tramite stringhe di codice php.

____________________________________________________
<form action="prenotazione.php" method="post">
<p>Orario<br>
<select name="select">
<option>16.30</option>
<option>18.30</option>
<option>20.30</option>
</select>
</p>
</form>
____________________________________________________

In sostanza al posto di dover sempre cambiare il codice della mia form, vorrei che le opzioni di scelta cambiassero a secondo dei valori che gli passo di volta in volta e che appunto magari prendo dal mio database.

Sperando di essere stato chiaro, vi chiedo gentilmente di aiutarmi a risolvere questo mio problema.

Grazie a tutti


Ciao

Blackat
10-04-2005, 20:39
Devi aggiungere l'attributo "selected" al tag <option> che vuoi
come selezionato per default.
Esempio :

Se devi selezionare 20.30 avrai

<form action="prenotazione.php" method="post">
<p>Orario<br>
<select name="select">
<option>16.30</option>
<option>18.30</option>
<option selected>20.30</option>
</select>
</p>
</form>


Spero di averti aiutato.
:sofico:

Beralios
13-04-2005, 09:03
Forse intendevi una cosa del genere ?

<select name="Prova" >
<?
include 'db.php';

$sql = mysql_query("SELECT * FROM tabella");
$numRec = mysql_num_rows($sql);
for ($i=0; $i <$numRec; $i++)
{
$rec = mysql_result($sql, $i, "Nomecampo");
echo "<option value=\"".$rec."\">".$rec;
} ?>
</select>

Ciao.

Rogar
13-04-2005, 16:34
grazie, sto facendo delle prove e sta funzionando, adesso smanetto ancora un po' :)

eventualmente se non vi dispaice vi disturbo ancora :D

ciao

Rogar
13-04-2005, 16:50
Beralios vedendo un po' il codice che hai scritto in particolar modo

echo "<option value=\"".$rec."\">".$rec;

e imitandolo sono riuscito a fare ciò che volevo ma non riesco pienamente a comprenderlo in ogni sua parte (essendo un new del php), potresti spiegarmi questa stringa o indirizzarmi a qualche sito che mi dia spiegazioni.

non conosco il senso esatto delle \ e il motivo per cui la stringa finisce con .$rec

tnx

Beralios
13-04-2005, 20:37
Certamente.

echo "<option value=\"".$rec."\">".$rec;

la '\' o carattere di escape serve a far interpretare il carattere " non come parte del comando echo ma come carattere della stringa da visualizzare, prova a togliere il carattere \ e vedrai il messaggio di errore.

Se ad esempio scrivi echo " E lui disse "caspita""; avrai un errore mentre se scrivi echo " E lui disse \"caspita\""; visualizzerai E lui disse "caspita" lo stesso vale per i caratteri ',/,$

.$rec finale e' il valore che viene visualizzato nella scelta, in questo caso il valore e quello visualizzato si equivalgono pero' non e' sempre cosi' potresti ad esempio visualizzare orario1 e come valore per quela scelta impostare 16:30.

Trovi un buon tutorial su www.html.it se hai altri dubbi chiedimi pure altrimenti puoi anche chiedere sul forum php di html.it o in questo forum a veri esperti come cionci.

Ciao.

Un consiglio impara ad usare i motori di ricerca vedrai che su internet trovi veramente tutto quello che ti serve.

Rogar
14-04-2005, 20:04
ho capito...

ho anche provato a sostituire
echo "<option value=\"".$rec."\">".$rec;


con
echo "<a href=\"$reg1\">Acquista/Prenota</a>";

vedendo che il codice è funzionante anche in questo modo. C'è stato un motivo particolare per il quale hai preferito utilizzare la prima forma tu?


Ancora grazie

Beralios
15-04-2005, 08:58
Questione solo di abitudine, Php ti permette molte liberta' in merito.

Ciao