ανάγνωση μοναδικών τιμών απο πεδίο πίνακα και τοποθέτηση σε μεταβλητές

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

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

Απάντηση
Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

ανάγνωση μοναδικών τιμών απο πεδίο πίνακα και τοποθέτηση σε μεταβλητές

Δημοσίευση από tempo » 11 Αύγ 2015 23:05

καλησπέρα,

θα ήθελα τον κώδικα (PHP) για να διαβάζω τις τιμές απο ένα πεδίο ενός πίνακα μιας βάσης και να τις τοποθετώ σε μεταβλητές πχ $a,$b,$c...$z (δεν θα είναι πάνω απο 26 τιμές) ή $a[1],$a[2],$a[3]....$a[26].

Αυτό που θέλει προσοχή είναι ότι οι τιμές που θέλω να διαβάζονται πρέπει να είναι οι μοναδικές-διαφορετικές, για παράδειγμα αν οι τιμές είναι

Δευτέρα
Τρίτη
Πέμπτη
Δευτέρα
Πέμπτη

εγώ θέλω οι τιμές που θα τοποθετούνται στις μεταβλητές να είναι μόνο οι Δευτέρα,Τρίτη,Πέμπτη (δηλ. η Δευτέρα δεν θα τοποθετηθεί δύο φορές σε μεταβλητή).

Ας υποθέσουμε ότι τον πίνακα τον λένε table, το πεδίο pedio.

Ευχαριστώ

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

ανάγνωση μοναδικών τιμών απο πεδίο πίνακα και τοποθέτηση σε μεταβλητές

Δημοσίευση από burnmind » 12 Αύγ 2015 00:13

Υποθέτοντας πως χρησιμοποιείς MySQL, το query που χρειάζεσαι σύμφωνα με τα στοιχεία που δίνεις είναι αυτό:

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

SELECT DISTINCT `pedio` FROM `table`;
Για να το εκτελέσεις, αν δε χρησιμοποιείς κάποιο framework (σε αυτή την περίπτωση μπορείς να χρησιμοποιήσεις τις μεθόδους που σου προσφέρει το ίδιο), δες εδώ ή εδώ.

Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

ανάγνωση μοναδικών τιμών απο πεδίο πίνακα και τοποθέτηση σε μεταβλητές

Δημοσίευση από tempo » 12 Αύγ 2015 00:26

οπότε το DISTINCT διαβάζει μόνο τις διαφορετικές τιμές.....πως θα τοποθετήσω τις τιμές που θα διαβάσω απο την βάση σε μεταβλητές όπως εξηγώ παραπάνω ή γενικότερα οι μεταβλητές αυτές έχουν κάποιο όνομα ώστε να τις χρησιμοποιήσω;
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

ανάγνωση μοναδικών τιμών απο πεδίο πίνακα και τοποθέτηση σε μεταβλητές

Δημοσίευση από burnmind » 12 Αύγ 2015 02:13

Τα links που σου έδωσα τα είδες; Αναλόγως με τον τρόπο με τον οποίο θα επιλέξεις να εκτελέσεις το query σου, θα πάρεις και το αποτέλεσμα.

Ένα παράδειγμα (έχει διάφορα άλλα στο manual):

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

$mysqli = new mysqli($host, $user, $pass, $db_name);

$sql = 'SELECT DISTINCT `pedio` FROM `table`';

$fields = [];

foreach ($mysqli->query($sql) as $row ) {
    $fields[] = $row['pedio'];
}

var_dump($fields);
Το παραπάνω θα σου αποθηκεύσει όλες τις διαθέσιμες τιμές στον πίνακα $fields. Αν πιστεύεις πως δε σε καλύπτει να έχεις τις τιμές σε ένα array, τότε δώσε κάποιο συγκεκριμένο παράδειγμα και κώδικα για το πως θέλεις να χρησιμοποιήσεις τα αποτελέσματα του query σου ώστε να πάρεις πιο συγκεκριμένη απάντηση.

Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

ανάγνωση μοναδικών τιμών απο πεδίο πίνακα και τοποθέτηση σε μεταβλητές

Δημοσίευση από tempo » 12 Αύγ 2015 14:43

ok, ευχαριστώ πολύ....
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες

Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

ανάγνωση μοναδικών τιμών απο πεδίο πίνακα και τοποθέτηση σε μεταβλητές

Δημοσίευση από tempo » 25 Αύγ 2015 08:12

τώρα αρχίζουν τα δύσκολα....
υποθέστε ότι έχουμε έναν πίνακα όπως παρακάτω

table1


id | col1 | col2 | col3
------------------------
1 | blue | paok| ibm
2 | white| pao | acer
3 | red | aek | sony
4 | blue | ofi | acer
5 | green| pao | sony

και εγώ θέλω να χρησιμοποιήσω τις μοναδικές τιμές απο τις στήλες col1,col2,col3 ξεχωριστά κάθε φορά ( για παράδειγμα θέλω να φτιάξω με αυτές τις τιμές 3 ξεχωριστά dropdown selectors για να έχω ένα φίλτρο σε μια σελίδα).
Μπορεί να γίνει αυτό σε ένα SELECT ή θα πρέπει να έχω 3 διαφορετικά?
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες

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

ανάγνωση μοναδικών τιμών απο πεδίο πίνακα και τοποθέτηση σε μεταβλητές

Δημοσίευση από dva_dev » 25 Αύγ 2015 21:34

Μπορεί να γίνει και με 1 query, αλλά καλύτερα να το κάνεις με 3 για να μην παιδεύεσαι.

Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

ανάγνωση μοναδικών τιμών απο πεδίο πίνακα και τοποθέτηση σε μεταβλητές

Δημοσίευση από tempo » 25 Αύγ 2015 21:39

dva_dev έγραψε:Μπορεί να γίνει και με 1 query, αλλά καλύτερα να το κάνεις με 3 για να μην παιδεύεσαι.
αν μπορείς να μου δείξεις και αποφασίζω μετά ανάλογα....
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες


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

ανάγνωση μοναδικών τιμών απο πεδίο πίνακα και τοποθέτηση σε μεταβλητές

Δημοσίευση από dva_dev » 26 Αύγ 2015 10:42

Θα μπορούσες να κάνεις κάτι τέτοιο για το query:

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

select distinct 1 colno, col1 colvalue from table1
union
select distinct 2 colno, col2 colvalue from table1
union
select distinct 3 colno, col3 colvalue from table1
και μετά στον κώδικα να κάνεις κάτι τέτοιο:

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

$fields = [];

foreach ($mysqli->query($sql) as $row ) {
    $fields[$row['colid']][] = $row['colvalue'];
}

var_dump($fields);

Απάντηση

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

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

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