Σίγουρα η αναπαραγωγή, προβολή και αποστολή δεδομένων μεσω κάποιας html/php φόρμας έχει ταλαιπωρήσει πάρα πολλούς από μας, ιδιαίτερα στα πρώτα μας βήματα. Τελικά οι περισσότεροι βρήκαμε μια λύση για να παίρνουμε δεδομένα από εναν πίνακα και μεσω ενος SQL ερωτήματος να τα αναπαράγουμε σε μια φόρμα. Ενα distinct σ' αυτή την περίπτωση είναι αναγκαίο να προσθέσω για κάθε αρχάριο..Σε αυτό το πόστ θέλω απλά να προσθέσω έναν τρόπο για να παίρνουμε δεδομένα σε πτυσσόμενα μενού όταν το πεδίο του πίνακα είναι τύπου ENUM...Με είχε απασχολήσει στο παρελθόν και ετσι σκέφτομαι να δωσω τη λύση έτοιμη για όποιον βρεθεί στην "δύσκολη" αυτή θέση :-)
Θα είμαι σύντομος και όχι αναλυτικός - sorry έλλειψη χρόνου ισως επεκτείνω το πόστ στο μέλλον με κάποιο συγκεκριμένο παράδειγμα . Εχετε λοιπόν δυο επιλογές ανάλογα με τον τρόπο που προτιματε να δουλέυετε - προτείνω τον δεύτερο :
Αγνή, παραδοσιακή php υλοποίηση :
<select> <? $result = mysql_query('SHOW COLUMNS FROM '.$table_name.' WHERE field="'.$column_name.'"'); while ($row = mysql_fetch_row($result)) { foreach(explode("','",substr($row[1],6,-2)) as $option) { print("<option>$option</option>"); } } ?> <select>
Υλοποίηση με PHP Data Objects
<select> <? $sql = 'SHOW COLUMNS FROM '.$table_name.' WHERE field="'.$column_name.'"'; $row = $db->query($sql)->fetch(PDO::FETCH_ASSOC); foreach(explode("','",substr($row['Type'],6,-2)) as $option) { print("<option>$option</option>"); } ?> </select>
Εννοείται πως θα δώσετε την πρέπουσα προσοχή στο php αρχείο με το οποίο θα κανετε την σύνδεση στη βάση σας και στις τυχόν αλλαγές στα ονόματα των μεταβλητών...Καλή σας τύχη !!!
0 σχόλια:
Speak up your mind
Πες μας τη γνώμη σου... !