WebArt Δημοσ. 23 Μαΐου 2014 Δημοσ. 23 Μαΐου 2014 Γεια σας, είμαι νέο μέλος του φόρουμ σας, αποφάσισα να γίνω μέλος γιατί μου το πρότειναν γνωστοί μου ότι το insomnia είναι ένα πολύ καλό φόρουμ. Έχοντας 2 προβλήματα θέλησα να απευθυνθώ σε σας, παρακάτω είναι τα προβλήματα: 1) Έχω μπει στην διαδικασία να δημιουργήσω το πρώτο μου ηλεκτρονικό κατάστημα, αλλά έχω φτάσει σε ένα σημείο που έχω κολλήσει (να πω ότι για εμένα είναι πρωτόγνωρα πολλά πράγματα από αυτά). Πιο συγκεκριμένα, έχω πάρει διαθέσιμο κώδικα σε php όπου τραβάει αριθμό εγγραφών από έναν πίνακα που υπάρχει στην βάση και εφόσον οι εγγραφές είναι μεγαλύτερες από 0 τις εμφανίζει. Αυτό με βοηθάει για την σελίδα που έχει μόνο μια κατηγορία και δηλώνω μόνο τον πίνακα αυτής της κατηγορίας. Το πρόβλημα είναι, ότι θέλω στην κεντρική σελίδα να εμφανίζει όλα τα προϊόντα από όλες τις κατηγορίες-πίνακες αλλά στην php όπως είναι δομημένη δεν δέχεται τιμές από περισσότερους από 1 πίνακες. Παρακάτω είναι ο κώδικας: include "storescripts/connect_to_mysql.php"; $dynamicList = ""; $sql = mysql_query("SELECT * FROM comics ORDER BY productname LIMIT 5"); $productCount = mysql_num_rows($sql); // count the output amount if ($productCount > 0) { while($row = mysql_fetch_array($sql)){ $id = $row["id"]; $product_name = $row["productname"]; $price = $row["price"]; $date_added = strftime("%b %d, %Y", strtotime($row["date"])); όταν στην SELECT FROM δίνω έναν πίνακα δουλεύει η συγκεκριμένη κατηγορία, όταν δίνω περισσότερους πίνακες μου βγάζει σφάλμα στην αμέσως επόμενη σειρά. 2) Επίσης, στο καλάθι μου υπάρχει η επιλογή paypal και όταν πατάω και στέλνει την παραγγελία στην σελίδα της paypal μου εμφανίζει στην σελίδα εκείνη τις πληροφορίες στα κινέζικα, ενώ στην σελίδα μου είναι κανονικά στα ελληνικά και φυσικά και η σελίδα μου και της paypal έχουν charset utf-8. Τι ακριβώς μπορεί να συμβαίνει; Χρειάζεται και στον κώδικα της php να μπει εντολή για charset utf-8 ή κάτι άλλο; Υ.Γ Η σελίδα τρέχει τοπικά. Ευχαριστώ εκ των προτέρων.
geomagas Δημοσ. 23 Μαΐου 2014 Δημοσ. 23 Μαΐου 2014 όταν στην SELECT FROM δίνω έναν πίνακα δουλεύει η συγκεκριμένη κατηγορία, όταν δίνω περισσότερους πίνακες μου βγάζει σφάλμα στην αμέσως επόμενη σειρά. Προφανώς! Το πρόβλημά σου δεν αφορά την php αλλά τη βάση. Προτείνω να κάνεις μία καλύτερη κανονικοποίηση, καθώς ο ξεχωριστός πίνακας ανά κατηγορία είναι απαράδεκτη πρακτική. Επίσης, εξοικειώσου λίγο με τη σύνταξη των εντολών της SQL. ...και φυσικά και η σελίδα μου και της paypal έχουν charset utf-8. Είναι βέβαιο; Πως το έλεγξες; (μιλάω για τη σελίδα σου, όχι για το paypal ).
alou Δημοσ. 23 Μαΐου 2014 Δημοσ. 23 Μαΐου 2014 Από όσο καταλαβαίνω, έχεις την κάθε κατηγορία προϊόντων σε διαφορετικό πίνακα; Αν ναι, αυτό από μόνο του είναι μεγάλο λάθος σχεδιαστικά και θα σε οδηγήσει σε πολύ περισσότερα προβλήματα. Μια κλασσική δομή, θα ήταν να έχεις όλα τα προϊόντα σε ένα πίνακα και είτε να έχει ένα πεδίο category_id το κάθε προϊόν είτε αν παίζει να έχεις το ίδιο προϊόν σε πολλές κατηγορίες, ένα pivot table με category_id και product_id Μετά το query θα ήταν της μορφής SELECT * FROM products WHERE category_id = "5" ORDER BY productname LIMIT 5 όπου 5 θα ήταν το category_id για τα comics ή SELECT * FROM products ORDER BY created LIMIT 5 για τα 5 πιο πρόσφατα από όλες τις κατηγορίες κλπ κλπ (στην περίπτωση του pivot δεν ισχύει αυτό, χρειάζεται join αλλά δεν έχει νόημα να το δούμε τώρα). Αν δεν υπάρχει περίπτωση να κάνεις κάτι τέτοιο, μάλλον θα πρέπει να κάνεις τόσα queries όσα και οι πίνακες, να επεξεργαστείς / σορτάρεις τα arrays ή objects που θα πάρεις και να παρουσιάσεις τα αποτελέσματα. Πολύ πιο επίπονη διαδικασία και για σένα και για τον server. edit πάλι με πρόλαβε
geomagas Δημοσ. 23 Μαΐου 2014 Δημοσ. 23 Μαΐου 2014 edit πάλι με πρόλαβε Είμαι γρήγορος, τι να κάνω;;; :-D Ακόμα κι έτσι, η απάντησή σου ήταν σαφώς αναλυτικότερη, οπότε λίγη σημασία παίζουν οι χρόνοι.
WebArt Δημοσ. 23 Μαΐου 2014 Μέλος Δημοσ. 23 Μαΐου 2014 Προφανώς! Το πρόβλημά σου δεν αφορά την php αλλά τη βάση. Προτείνω να κάνεις μία καλύτερη κανονικοποίηση, καθώς ο ξεχωριστός πίνακας ανά κατηγορία είναι απαράδεκτη πρακτική. Επίσης, εξοικειώσου λίγο με τη σύνταξη των εντολών της SQL. Είναι βέβαιο; Πως το έλεγξες; (μιλάω για τη σελίδα σου, όχι για το paypal ). Γιατί έχω προσθέσει meta tag για charset utf-8 σε κάθε σελίδα. Μου διαφεύγει κάτι; Υ.Γ Έχετε δίκαιο για την SQL, έτσι θα το κάνω.
WebArt Δημοσ. 25 Μαΐου 2014 Μέλος Δημοσ. 25 Μαΐου 2014 Για την ακρίβεια, μου τα βγάζει όπως παρακάτω στην σελίδα της PayPal. Ο Μπλεκ και οι...άλλ΅Ο Μπλεκ και οι...άλλοι€22.00 Item price: €22.00 Quantity: 1 Διγενής ΑκÏίταςΔιγενής ΑκÏίτας€10.00 Item price: €10.00 Quantity: 1 Ο αγÏάμματος συγγÏ΅Ο αγÏάμματος συγγÏαφÎας€2.50 Item price: €2.50 Quantity: 1 Μήπως υπάρχει κάποιο θέμα με την php;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα