tick box μεσα σε while μεσα σε php :-?

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

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

Απάντηση
bigmen2007
Δημοσιεύσεις: 8
Εγγραφή: 24 Μάιος 2011 23:51

tick box μεσα σε while μεσα σε php :-?

Δημοσίευση από bigmen2007 » 27 Ιουν 2011 03:05

Καλημερα,

Φτιαχνω κατι σαν e-shop και τα προιοντα τα εχω βαλει μεσα σε php και αναπαραγονται απο την βαση με μια while. Πως μπορω μεσω του tickbox να δω ποια προιοντα εχω επιλεξει καθως και την αντιστοιχη ποσοτητα τους σε μια αλλη σελιδα php;

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

tick box μεσα σε while μεσα σε php :-?

Δημοσίευση από Christianago » 27 Ιουν 2011 04:14

Μεσω ajax θα το κανεις πολυ πιο ευκολα παντως και πιο διαδραστικα αν αναφερεσαι σε καλαθι αγορων.
Λοιπον, θα δωσεις σε καθε checkbox ενα ονομα. Μπορει να ειναι ενα αναπτυγμα μεταβλητης πινακα μεσα στη while σου.
Υστερα οταν κανεις POST θα ελεγχεις μεσα σε while τα προιοντα που επελεξες αφου πρωτα εχεις παρει τον αριθμο που επιλεχθηκαν.
Μεσα σε αυτη τη while θα εχεις μια προταση SELECT και θα επιλεγεις απο καθε προιον το κοστος/ειδος ή οτι αλλο θες.
Βεβαια καπου πρεπει να κρατας και την ποσοτητα που επελεξες οποτε θυμησου να την κοτσαρεις και αυτην.
Σε περιπτωση πχ. που θες να κρατας το συνολικο κοστος των προιοντων, θα το κανεις κατω απο καθε SELECT

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

$total[] = $quantity[$j] * $row['COST_PER_UNIT'];
οπου $quantity[$j], ο πινακας των ποσοτητων για ενα προιον
και $row['COST_PER_UNIT'] το κοστος για ενα προιον.
Μετα χωνεις εξω απο την while τον γεματο πια πινακα $total και δειχνεις το αποτελεσμα ως εξης - ακεραιος με δυο δεκαδικα ψηφια:

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

echo "Σύνολο: ".sprintf("%.2f", array_sum($total))." &euro";

bigmen2007
Δημοσιεύσεις: 8
Εγγραφή: 24 Μάιος 2011 23:51

tick box μεσα σε while μεσα σε php :-?

Δημοσίευση από bigmen2007 » 27 Ιουν 2011 18:07

Ευχαριστω φίλε μου για την απαντηση. Εφτιαξα να διαβαζει ποιο προιον εχω τικαρει, αλλα τωρα εχω κολλησει σε ενα αλλο προβλημα. Στο οτι δεν διαβαζει ποσα τεμαχια εχω επιλεξει (μεσα απο drop down menu) για να το αντιστοιχησω με το επιλεγμενο προιον. Αν εχεις καποια ιδεα διαφωτησε με παρακαλω, γιατι το βλεπω να ζει για λιγο το pc :hammer: :hammer:

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

tick box μεσα σε while μεσα σε php :-?

Δημοσίευση από Christianago » 27 Ιουν 2011 22:44

Εχεις ας πουμε διπλα απο καθε checkbox ενα textbox μεσα στην while προταση σου:

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

$i = 1;  //εξω απο while
echo "<input type="text" name="quantity$i" />";
$i++;
Οπως καταλαβαινεις καθε προιον θα εχει και μια κωδικη ποσοτητα. Πχ. το 69 προιον θα εχει κωδικο ποσοτητας: quantity69.

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

$j = 1; 
while &#40;$j <= $count&#41;&#123;
$get_qy&#91;$j&#93;='quantity'.$j;
echo $qy&#91;$j&#93; = $_POST&#91;$get_qy&#91;$j&#93;&#93;;
$i++;
&#125;
H echo θα σου εκτυπωσει τη ποσοτητα που επελεξες για καθε προιον. Εγω αυτο χρησιμοποιω για το δικο μου καλαθι, αν και νομιζω το κανει καλυτερα η foreach.
Δε σου εγραψα ολο τον κωδικα, αλλα πιστευω τη λογικη θα την πιασεις.

bigmen2007
Δημοσιεύσεις: 8
Εγγραφή: 24 Μάιος 2011 23:51

tick box μεσα σε while μεσα σε php :-?

Δημοσίευση από bigmen2007 » 29 Ιουν 2011 21:51

σ'ευχαριστω πολυ φιλε μου. Αλλα εχω προβλημα κατα την εμφανιση του. Μαλλον δεν "διαβαζει" τις εντολες γιατι δν μου εμφανιζει τιποτα.
Εχω κανει στο eshop

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

echo "<td width=". "50px" ."> <select name=". "quantity".$i." /> <option value="."ena".">1 Τεμάχιο</option>  <option value="."duo".">2 Τεμάχια</option>  <option value="."tria".">3 Τεμάχια</option> <option value="."tessera".">4 Τεμάχια</option> </select></td>";
afou pio pano evala to $i=1;

kai meta exo kanei sto action

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

while &#40;$j <= $count&#41;&#123;
					
					$post_qy&#91;$j&#93;='quantity'.$j;
					
				if &#40;$_POST&#91;$post_qy&#91;$j&#93;&#93;=="ena"&#41;&#123;
				echo "1tem";
				&#125;
				
				else if &#40;$_POST&#91;$post_qy&#91;$j&#93;&#93;=="duo"&#41;&#123;
				echo "2tem";
				&#125;
				
				else if &#40;$_POST&#91;$post_qy&#91;$j&#93;&#93;=="tria"&#41;&#123;
				echo "3tem";
				&#125;
				
				else if &#40;$_POST&#91;$post_qy&#91;$j&#93;&#93;=="tessera"&#41;&#123;
				echo "4tem";
				&#125;
				$j++;
				&#125;
			&#125;

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

tick box μεσα σε while μεσα σε php :-?

Δημοσίευση από Christianago » 30 Ιουν 2011 03:53

Εχεις ποσταρει μερος του κωδικα σου κι ετσι αναγκαζομαι να μαντευω. Πρωτον δεν ξερω τι γινεται στην javascript.
Αν δεν χρησιμοποιεις καθολου javascript για αυτο το κοματι του κωδικα, τοτε πώς η php παιρνει την εισοδο απο το χρηστη; Πρεπει να δω τον κωδικα μεχρι και το submit button.
Επισης γιατι το select name να αυξανεται και αντ αυτου να μην αυξανεται το option value οπως σου εδειξα: quantity$i.
Τελος δεν χρειαζονται τοσοι ελεγχοι στην php. Μπορεις να τυπωσεις αυτοματα την επιλεγμενη ποσοτητα.
Ενταξει θα μου πεις εχεις μονο 4 τεμαχια. Αλλα αν στην πορεια αυξηθουν μπορει να ειναι κουραστικο να βαζεις τοσους ελεγχους.

Απάντηση

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

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

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