Paladin-}LoA{- Δημοσ. 29 Μαΐου 2008 Δημοσ. 29 Μαΐου 2008 Καλησπέρα σας! Σε μία ιστοσελίδα που φτιάχνω, έχω μία _get φόρμα με διάφορα combos από την οποία επιλέγω κάποια κριτήρια αναζήτησης και στη συνέχεια έχω μία σελίδα results.php που με values που παίρνουν από το url ψάχνουν τα records για resuls. Στα combo αυτα πάντως (είναι δυναμικά, παίρνουν τα values από την database) έχω σαν πρώτη επιλογή (static) τη λέξη "Αδιάφορο" με value * Η ερώτησή μου είναι (ας υποθέσουμε οτι τα combo ονομάζονται combo1 και combo2) Στην SQL στο WHERE statement τι πρέπει να πηγαίνει για να διαλέγει όλα τα records σε περίπτωση που η επιλογή στη φόρμα είναι αδιάφορο; Δοκίμασα το εξής: SELECT * FROM TABLE1 WHERE COLUMN1 = '*' && COLUMN2 = '*' Τα αστεράκια έρχονται από τα combo όταν έχω επιλέξει την επιλογή "Αδιάφορο" Όμως το αστεράκι δεν κάνει select ¨ολα τα records...Βασικά δεν φέρνει τίποτα... Τι πρέπει να βάλω σαν value στο "Αδιάφορο" του combo έτσι ώστε στο WHERE που θα πηγαίνει αυτό το value να κάνει select τα πάντα; Thanks!!!!
PavelX Δημοσ. 29 Μαΐου 2008 Δημοσ. 29 Μαΐου 2008 Καταρχήν, για λόγους ασφαλείας, αυτό που σκέφτεσαι ΞΕΧΝΑ ΤΟ. Αν περνάς τα δεδομένα κατευθείαν μέσα από το $_GET στο Query, κάποιος "κακόβουλος" μπορεί να σου κάνει μεγάλη ζημιά. Μην είσαι τόοοοοοσο αθώος. Βάλε ένα if statement, if ($_GET['choice'] == "*") { ένα SQL } else { διάφορα validations και ένα δεύτερο SQL εδώ }
drmetal Δημοσ. 29 Μαΐου 2008 Δημοσ. 29 Μαΐου 2008 Πρέπει να βάλεις % Επίσης για ασφάλεια κάνε κάτι σαν $var = addslashes($_GET['choice']) και δούλεψε με το $var παρακάτω (if ($var == "%")) [...]
Paladin-}LoA{- Δημοσ. 30 Μαΐου 2008 Μέλος Δημοσ. 30 Μαΐου 2008 OK thanks θα τα δοκιμάσω και θα σας ενημερώσω. Να ρωτήσω και κάτι άλλο με την ευκαιρία.... Τα combo αυτά όπως είπα είναι dynamic και είναι και linked. Έχω φτιάξει λοιπόν μια σελίδα embed.php με 2 frames. Στο 1ο frame φορτώνεται το combo1 στην φόρμα form1 και στο 2ο frame φορτώνεται το combo2 στη form2. Στη συνέχεια στην index μου έχω ένα iframe που δείχνει το embed.php Έτσι όταν κάποιος επιλέξει κάτι από το 1ο combo, κάνει refresh το 2ο και βγάζει τις επιλογές που είναι Linked με το 1ο. Αυτό δουλεύει άψογα και σε IE και σε Firefox (γραμμένο σε javascript) Το πρόβήμά μου είναι το εξής. Όταν κάποιος πατήσει αναζήτηση, ενώ ο IE κάνει parse κανονικά τα values των combo που είναι μέσα στο iframe στην σελίδα results, ο firefox δεν μπορεί να τα πάρει.... Βασικα επειδή το iframe είναι μέρος της φόρμας αναζήτησης, έχω γράψει σε javascript κώδικα μόλις γίνεται Onmouseover στο κουμπί αναζήτησης, να μεταφέρονται τα values των combo μέσα από το iframe, σε 2 hidden fields μέσα στη φόρμα. Ενώ στον IE τα values πάνε στα hidden fields, στον firefox δεν πάνε... Ιδού ο κώδικας: if (document.combos.frame1.form1.combo1ID.options[document.combos.frame1.form1.combo1ID.selectedIndex].value > 0) { document.qsearch.hidden1.value = document.combos.frame1.form1.combo1ID.options[document.combos.frame1.form1.combo1ID.selectedIndex].text; } else { document.qsearch.hidden1.value = '*'; } Προφανώς το τελευταίο value αλλάζει με όσα μου είπατε.... Καμιά ιδέα για ποιό λόγο αυτό που έγραψα δουλεύει μόνο σε IE? Τo iframe ονομάζεται combos, το 1o frame ονομάζεται frame1, η 1η form form1, και το combo combo1ID
drmetal Δημοσ. 30 Μαΐου 2008 Δημοσ. 30 Μαΐου 2008 Κοίτα με έχασες, βαριέμε να το διαβάσω ξανά, μόνο μια ερώτηση, γιατι frames?
Paladin-}LoA{- Δημοσ. 30 Μαΐου 2008 Μέλος Δημοσ. 30 Μαΐου 2008 Sorry.... Βασικά έβαλα iframe γιατί δεν μπορούσα να σκεφτώ κάποιο άλλο τρόπο να φτιάξω dynamic combos linked παρα μόνο να κάνει refresh η σελίδα μετά από επιλογή στο 1ο combo. Αλλα΄δεν είναι τραβηγμένο να κάνει refresh ολόκληρη η σελίδα μόνο και μόνο για να πάρει στο 2ο combo τα values που πρέπει σύμφωνα με την επιλογή του 1ου; Οπότε έβαλα και γω iframe για να κάνει refresh μόνο αυτό και όχι ολόκληρη η index μου....
drmetal Δημοσ. 30 Μαΐου 2008 Δημοσ. 30 Μαΐου 2008 AJAX που είναι βασικά javascript μπορείς να το δεις εδώ μπορεί να λύσει το πρόβλημα σου
Paladin-}LoA{- Δημοσ. 1 Ιουνίου 2008 Μέλος Δημοσ. 1 Ιουνίου 2008 Thanks για το reply. Ενδιαφέρον το AJAX. Θα το μελετήσω! Ελπίζω να κάνει και για combo menu (όχι μόνο για combo list)
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.