Μεταβλητή array

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

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

Απάντηση
Άβαταρ μέλους
afroditi590
Δημοσιεύσεις: 123
Εγγραφή: 08 Ιαν 2007 11:52

Μεταβλητή array

Δημοσίευση από afroditi590 » 25 Σεπ 2009 15:20

Καλησπέρα

έχω ένα πρόβλημα με μεταβλητή πίνακα που δεν είμαι σίγουρη αν όντος γίνεται αυτό που θέλω, αλλά αν γίνεται θα με σώσει! :lol:

Λοιπόν,
ανακτώ από την βάση μου μια μεταβλητή

$facilities1="pool, bbq, kitchen"

τώρα θέλω αυτή τη μεταβλητή να τη μετατρέψω σε μεταβλητή πίνακα για να μπορέσω να πάρω ένα ένα αυτά τα στοιχεία και όχι όλα μαζί.

κάνω τα εξής

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

$facilities2=array($facilities1);
print_r($facilities2);
και μου εμφανίζει αυτό

Array ( [0] => facilities, bbq kitchen )

δε μου τα χωρίζει και λογικό γιατι τα βλέπει ένα. Μήπως ξέρει κανείς αν υπάρχει κάποιος τρόπος για να μετατρέψω σε πίνακα τη μεταβλητή?

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Μεταβλητή array

Δημοσίευση από Rapid-eraser » 25 Σεπ 2009 15:58

Φαντάζομαι ότι τα αποτελέσματα που παίρνεις είναι από πεδίο βάσης τύπου SET , anyway δεν έχει και πολύ σημασία.

Μπορείς να χωρίσεις το string σου σε array κάνοντας χρήση της explode και trim για να κόψεις τα whitespace μπρος πίσω.

Διάβασε μία για την explode και άμα χρειαστείς βοήθεια εδώ είμαστε.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
afroditi590
Δημοσιεύσεις: 123
Εγγραφή: 08 Ιαν 2007 11:52

Μεταβλητή array

Δημοσίευση από afroditi590 » 25 Σεπ 2009 16:31

Τέλεια, δουλέυει!!
Σε ευχαριστώ πάρα πολύ. είχα βρεί την αντίθετη την extract() και δε μπορούσα να βρω αυτη που ήθελα με τίποτα...

δεν είναι τύπου SET,είναι varchar, δε νομίζω να παίζει ρόλο αυτό γιατί θα είναι συγκεκριμένος ο τρόπος που θα είναι μέσα στη βάση, χωρίς κενά με κόμματα, δε θα γίνεται χειροκίνητα αλλά δυναμικά η εισαγωγή από λίστες, οπότε μπορώ να το ελέγχω.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Μεταβλητή array

Δημοσίευση από korgr » 25 Σεπ 2009 17:13

Οπως πολυ σωστα σου προτεινε ο Rapid-eraser και διαπιστωσες και μονη σου, η explode κανει τη δουλεια που θες.
Θελω ομως να σταθω στον τροπο που καταχωρεις αυτα τα δεδομενα στη βαση σου και που κατα τη γνωμη μου δεν ειναι ο καλυτερος δυνατος και ισως σου δημιουργησει αργοτερα προβληματα στα queries. Γενικα απεφευγε σε ενα πεδιο να καταχωρεις πολλες τιμες. Αυτη ειναι κλασσικη περιπτωση many to many και αντιμετωπίζεται με την δημιουργία συμπληρωματικων πινακων.

Άβαταρ μέλους
afroditi590
Δημοσιεύσεις: 123
Εγγραφή: 08 Ιαν 2007 11:52

Μεταβλητή array

Δημοσίευση από afroditi590 » 25 Σεπ 2009 17:30

φυσικά και να μου πεις τι γνώμη σου!

άκου τι θέλω να κάνω.
είναι κάτι σαν το http://www.booking.com/
θέλουμε για τα ξενοδοχεία να μην έχουμε κείμενο, να μην καθόμαστε δηλαδη και γράφουμε για κάθε ένα κείμενο, να είναι πιο τυποποιημένα, να έχουν παροχές, και να περιγράφοντε μέσα απο εκεί. και αυτές οι παροχές να είναι σε αρκετές γλώσσες, τουλάχιστον 5.

σκέφτηκα λοιπόν δυο τρόπου

1) να κάνω ένα πίνακα accommodation με διάφορα πεδία που χρειάζοντε και ένα πεδίο που θα έχει αυτές τις παροχές χωρισμένες με κόμμα ή κάθε μία.
και ένα πίνακα που θα έχει τις παροχές σε διάφορες γλώσσες, πχ ένα πεδίο id παροχής, και ένα για την αντίστοιχη ελληνική λέξη, ένα για την αγγλική κτλ.

2) και ο δεύτερος τρόπος είναι
στον πίνακα accommodation να έχω διαφορετικό πεδίο για κάθε μια παροχή και να είναι τύπου SET (Y,N) αν την έχει ή όχι. συν τον πίνακα με τις γλώσσες. αλλά νομίζω ότι έτσι ο πίνακας θα βγεί αρκετά μεγάλος και δε θα είναι και εύκολος στη διαχείριση του.

μπορεί να έχω και 100 τέτοιες παροχές που σημαίνει 100 πεδία, ενώ σε ένα πεδίο 100 λέξεις (άν τα έχει όλα) δε είναι τόσο δύσχρηστο.

εσύ τι προτείνεις?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Μεταβλητή array

Δημοσίευση από fafos » 25 Σεπ 2009 18:03

an oi paroxes den einai ypervolika polles mporeis na feiakseis 2 pinakes:

1.paroxes table
id
title

2.paroxes_hotel table
id
hotel_id
paroxh_id

sthn diaxeirish exeis mia selida opou prostheteis-afaireis-epeksergazesai tis paroxes kai sthn selida opou grafeis ta xarakthristika ton hotels emfanizeis oles tis paroxes pou exeis kataxorhsei sto paroxes table me dynatothta na epilegontai apo ton diaxeiristh eite me radio buttons eite me multiple select..


an epimeneis na exeis tis paroxes se ena pedio proteino na matheis thn serialize()
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Μεταβλητή array

Δημοσίευση από korgr » 25 Σεπ 2009 20:24

Οπως ακριβως τα ειπε ο fafos!

Άβαταρ μέλους
afroditi590
Δημοσιεύσεις: 123
Εγγραφή: 08 Ιαν 2007 11:52

Μεταβλητή array

Δημοσίευση από afroditi590 » 26 Σεπ 2009 11:29

οκ. θα το δοκιμάσω και έτσι και θα δω πως θα καταληξω τελικά.
έτσι έλεγα και εγώ με radio buttons ή multiple select.

θα κοιτάξω και για την serialize() που μου είπες.
ευχαριστώ πάρα πάρα πολύ

Απάντηση

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

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

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