Περίεργο σε option select

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Περίεργο σε option select

Δημοσίευση από Apostolis_38 » 15 Νοέμ 2009 16:25

Καληπέρα σε όλους.

Βασικά δεν θέλω κάποια βοήθεια αλλά να γράψω για κάποιο κουφό που συμβαίνει σε ένα option select, μήπως και ξέρει κανείς κάτι και με διαφωτίσει.


Εχω την κλασική φόρμα με <select>, <option> κ.λ.π. στην οποία θέλω να "μένει" η επιλογή του χρήστη.
Δηλαδή αν η φόρμα έχει 5 επιλογές και ο χρήστης διαλέξει την 2η επιλογή, το script εκτελείται - φέρνει τα σωστά αποτελέσματα και εμφανίζεται στο πλαίσιο η 2η επιλογή.
Η φόρμα δουλεύει ως εξής:

Κώδικας: Επιλογή όλων

<option<?php if&#40;$_GET&#91;"επιλογή"&#93; == "νούμερο επιλογής"&#41; echo " selected=selected";?> value="νούμερο επιλογής">Ολα τα Είδη</option>
ενώ ΔΕΝ δουλεύει ετσι:

Κώδικας: Επιλογή όλων

<option<?php if&#40;$_GET&#91;"επιλογή"&#93; == "νούμερο επιλογής"&#41; echo "selected=selected";?> value="νούμερο επιλογής">Ολα τα Είδη</option>

Οταν δηλαδή δεν υπαρχει το κενό ανάμεσα στο " και το selected

Καμμιά ιδέα κανείς; :o

Άβαταρ μέλους
Burned4
Δημοσιεύσεις: 324
Εγγραφή: 21 Σεπ 2007 12:50
Επικοινωνία:

Περίεργο σε option select

Δημοσίευση από Burned4 » 15 Νοέμ 2009 16:52

Γεια σου,

Αυτό που πιστεύω είναι ότι στο 2ο παράδειγμα (δλδ χωρίς κενό) όταν κάνει echo "selected=selected" ο html κώδικά σου γίνεται:

Κώδικας: Επιλογή όλων

<optionselected=selected value="νούμερο επιλογής">Ολα τα Είδη</option>
και γιαυτό δεν παίζει

ενώ το πρώτο γίνεται :

Κώδικας: Επιλογή όλων

<option selected=selected value="νούμερο επιλογής">Ολα τα Είδη</option>
και παίζει κανονικά

Δες λίγο τον html κώδικα και θα δεις τι φτάει :wink:
You can do anything, but not everything.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Περίεργο σε option select

Δημοσίευση από dva_dev » 15 Νοέμ 2009 16:59

στην πρώτη περίπτωση που δουλεύει δημιουργεί το tag option που υπάρχει με τα attributes selected και value.

Κώδικας: Επιλογή όλων

<option selected=selected value="νούμερο επιλογής">Ολα τα Είδη</option>
στη δεύτερη περίπτωση που δεν δουλεύει δημιουργεί το tag optionselected που δεν υπάρχει με τα attributes value.

Κώδικας: Επιλογή όλων

<optionselected=selected value="νούμερο επιλογής">Ολα τα Είδη</option>
Επίσης εδώ ανοίγει ένα tag <optionselected> και το κλείνει με ></option>

Για να δουλεύει σε κάθε περίπτωση βάλε ένα κενό πρίν το <?php

Κώδικας: Επιλογή όλων

<option<?php .... ?> value="νούμερο επιλογής">Ολα τα Είδη</option> <--λάθος
<option <?php .... ?> value="νούμερο επιλογής">Ολα τα Είδη</option> <--σωστό
Επίσης θα δουλέψει αν βάλεις τον κώδικα php σε ξεχωριστή γραμμή (μπαίνει ο χαρακτήρας newline) που πάλι θα ξεχωρίσει το option από το selected και θα γίνει

Κώδικας: Επιλογή όλων

<option
selected=selected
value="νούμερο επιλογής">Ολα τα Είδη</option>

edit: Με πρόλαβε το Burned4.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Περίεργο σε option select

Δημοσίευση από Apostolis_38 » 15 Νοέμ 2009 20:58

Εχετε δίκιο.
Πάνω στο "άγχος" μου να φτιάξω τον κώδικα δεν έδωσα καθόλου σημασία στο html μέρος και την πάτησα.
Θένκ γιου.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 4 επισκέπτες