Page 1 of 1

Φόρμα πολλαπλών επιλογών μέσω PHP

Posted: Sat Mar 03, 2007 7:01 pm
by kchrist
Αγαπητοί καλησπέρα.

Ως νιούφης στη γλώσσα PHP θα ήθελα να ρωτήσω το ακόλουθο:

Θα ήθελα να φτιάξω μία PHP φόρμα τα πεδία της οποίας θα είναι dropdown list (με δυνατότητα πολλαπλών επιλογών).

Τα στοιχεία των drop-down lists θα προέρχονται από queries σε πίνακες μίας MySQL database.
Επισυνάπτω εικόνα της HTML φόρμας με τους πίνακες από τους οποίους προέρχονται τα πεδία.

Image
Δυσκολεύομαι στον τρόπο που θα κάνω το POST και το πως θα εισάγω τις επιλεγμένες τιμές στο where του SELECT Query.

Η βοήθεια σας θα είναι πολύτιμη.

Posted: Sat Mar 03, 2007 7:13 pm
by kchrist
Ξέχασα να αναφέρω πως με το POST θα τρέχει ένα SELECT query που θα επιστρέφει αποτελέσματα από έναν πίνακα της MySQL db που έχει σύνδεση με τα υπόλοιπα tbls

Posted: Mon Mar 05, 2007 11:56 am
by ράνια
Παράδειγμα

<SELECT name="Nomoi"> <OPTION value="" selected>-Επιλέξτε-</OPTION>
<?php

$query = "SELECT id, nomos FROM tblNomoi";
$result = mysql_query($query) or die(mysql_error());

while ($row = mysql_fetch_array($result) ) {

print "<OPTION value=\"$row['id']\">$row['nomos']</OPTION>";

}


?>

</SELECT>



Αυτό θα σου τυπώσει τόσα option όσες και οι εγγραφές στον πίνακά σου βάζοντας στο value το id της κάθε εγγραφής και σαν επιλογή εμφανίζει το όνομα του νομού π.χ.. Αν δεν έχεις κάποιο id μπορείς να χρησιμοποιήσεις και το ίδιο το όνομα του νομού, δε σε δεσμεύει κάτι.

Στην επόμενη σελίδα στη μεταβλητή $_POST['Nomoi'] που είναι το όνομα του select σου θα σου έχει την τιμή του value του option που διάλεξες. Το αποθηκεύεις σε μια μεταβλητή και το διαχειρίζεσαι όπως θες.

Άμα προσέξεις πριν το SELECT έχω βάλει άλλο ένα option που θα λέει απλώς "Επιλέξτε" (<OPTION value="" selected>-Επιλέξτε-</OPTION>) Αυτό δεν είναι υποχρεωτικό να μπει και όπως βλέπεις δεν έχει καν τιμή. Απλώς το βάζω για να δείξω στο χρήστη ότι πρέπει να επιλέξει. Ή μπορεί να χρησιμοποιηθεί σαν εναλλακτική λύση όπως έχεις κι εσύ "Όλα" για να δώσεις την δυνατότητα στο χρήστη να τα επιλέξει όλα. Σε αυτό θα βάλεις μια χαρακτηριστική τιμή στο value που θα ξέρεις ότι θα τα αντιπροσωπεύει όλα.