Τι λάθος κάνω?

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

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

Απάντηση
Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Τι λάθος κάνω?

Δημοσίευση από vassilism » 17 Μαρ 2009 22:11

Καλησπέρα σας.
Προσπαθώ να τραβήξω δεδομένα από 2 πίνακες και ενώ μου εμφανίζει σωστά αποτελέσματα μου επαναλαμβάνει εγγραφές που παίρνουν περισσότερα από ένα ξένα κλειδιά.

Υπάρχει ο πίνακας mathites και ο πίνακας arxeia.
Ο κάθε μαθητής είναι μοναδικός ενώ μπορεί να πάρει πολλά αρχεία.
Έστω ότι έχουμε τον μαθητή Βασίλη με αρχεία τα α β γ
Τότε θα μου εμφανίσει

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

Βασίλη α
Βασίλη β
Βασίλη γ
Ενώ εγώ θέλω να μου εμφανίζει:

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

Βασίλη α β γ
Δοκίμασα με distinct αλλά δεν δουλεύει. Ο κώδικας που χρησιμοποιώ:

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

$query = "SELECT * FROM mathites INNER JOIN arxeia ON mathites.id=arxeia.id_mathiti WHERE mathites.id=arxeia.id_mathiti";
$getdata = mysql_query($query);

while ($rows = mysql_fetch_array($getdata)) 
{ 
echo ($rows['onoma']);    
echo ($rows['onoma_arxeiou']);
echo &#40;"<br>"&#41;;
&#125;

ksamole
Δημοσιεύσεις: 92
Εγγραφή: 08 Οκτ 2006 04:43

Τι λάθος κάνω?

Δημοσίευση από ksamole » 18 Μαρ 2009 10:17

vassilism έγραψε:Καλησπέρα σας.
Προσπαθώ να τραβήξω δεδομένα από 2 πίνακες και ενώ μου εμφανίζει σωστά αποτελέσματα μου επαναλαμβάνει εγγραφές που παίρνουν περισσότερα από ένα ξένα κλειδιά.

Υπάρχει ο πίνακας mathites και ο πίνακας arxeia.
Ο κάθε μαθητής είναι μοναδικός ενώ μπορεί να πάρει πολλά αρχεία.
Έστω ότι έχουμε τον μαθητή Βασίλη με αρχεία τα α β γ
Τότε θα μου εμφανίσει

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

Βασίλη α
Βασίλη β
Βασίλη γ
Ενώ εγώ θέλω να μου εμφανίζει:

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

Βασίλη α β γ
Δοκίμασα με distinct αλλά δεν δουλεύει. Ο κώδικας που χρησιμοποιώ:

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

$query = "SELECT * FROM mathites INNER JOIN arxeia ON mathites.id=arxeia.id_mathiti WHERE mathites.id=arxeia.id_mathiti";
$getdata = mysql_query&#40;$query&#41;;

$rows = mysql_fetch_array&#40;$getdata&#41;;
echo &#40;$rows&#91;'onoma'&#93;&#41;;
echo &#40;$rows&#91;'onoma_arxeiou'&#93;&#41;;
while &#40;$rows = mysql_fetch_array&#40;$getdata&#41;&#41; &#123;  
echo &#40;$rows&#91;'onoma_arxeiou'&#93;&#41;;
&#125;

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Τι λάθος κάνω?

Δημοσίευση από vassilism » 18 Μαρ 2009 16:59

Μπα δεν δουλεύει.
Συγκεκριμένα βγάζει μόνο μια εγγραφή από τους μαθητές και όλα τα υπόλοιπα είναι λάθος.

Άβαταρ μέλους
billt
Δημοσιεύσεις: 1175
Εγγραφή: 20 Φεβ 2004 16:17
Τοποθεσία: Θεσσαλονίκη

Τι λάθος κάνω?

Δημοσίευση από billt » 18 Μαρ 2009 17:10

des ligo auti ti roi :

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

&#91;LOOP SELECT * FROM MATHITES, kai apo edo pare to mathites.id esto $mid&#93;
      $text .=mathites.name;
&#91;loop select * from arxeia where arxeia.id_mathiti = $mid&#93;
   $text.=' '. $arxeia.name;
&#91;/loop&#93;
echo $text;

&#91;END LOOP MATHITES&#93;

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Τι λάθος κάνω?

Δημοσίευση από vassilism » 18 Μαρ 2009 17:18

Δεν κατάλαβα.
Εννοείς να σπάσω το ερώτημα στα δυο και να το κάνω επανάληψη?

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

Τι λάθος κάνω?

Δημοσίευση από fafos » 18 Μαρ 2009 18:34

Patrida!!!! asta auta kai pame gia psarema re sy.. :lol:

sosto auto pou grafei o bilt alla psilokourazei thn vash... h mysql (apo 5 kai ano nomizo) exei thn entolh GROUP_CONCAT:

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

$sql = "SELECT   q.onoma, q.id, GROUP_CONCAT&#40;i.onoma_arxeiou ORDER BY i.onoma_arxeiou SEPARATOR ', '&#41; as items FROM mathites as q LEFT JOIN arxeia as i ON  q.id=i.id_mathiti GROUP BY q.onoma";
$result = mysql_query&#40;$sql&#41; or die&#40;mysql_error&#40;&#41;&#41;;

while&#40;$row = mysql_fetch_assoc&#40;$result&#41;&#41;
&#123;

   echo "-" . $row&#91;'onoma'&#93; . "&#58; " . $row&#91;'items'&#93; . "<br>\n";
&#125;


Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Τι λάθος κάνω?

Δημοσίευση από vassilism » 18 Μαρ 2009 19:34

Πάμε ρε πατρίδα.
Αν και δεν το κατέχω το άθλημα θα έρθω για παρέα :D

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

Τι λάθος κάνω?

Δημοσίευση από fafos » 18 Μαρ 2009 19:36

vassilism έγραψε:Πάμε ρε πατρίδα.
Αν και δεν το κατέχω το άθλημα θα έρθω για παρέα :D
tha kateno aurio alla dystyxos gia khdeies (autoktonhse o aderfos enos filou sto Mermpaka)
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Τι λάθος κάνω?

Δημοσίευση από vassilism » 18 Μαρ 2009 19:48

Αυτά είναι τα χειρότερα πατρίδα&#8230;.
Θα κανονίσουμε όταν κατέβεις πάλι, ελπίζω να έχει φτιάξει και ο καιρός γιατί βρέχει συνέχεια.

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

Τι λάθος κάνω?

Δημοσίευση από fafos » 18 Μαρ 2009 21:05

vassilism έγραψε:Αυτά είναι τα χειρότερα πατρίδα&#8230;.
Θα κανονίσουμε όταν κατέβεις πάλι, ελπίζω να έχει φτιάξει και ο καιρός γιατί βρέχει συνέχεια.
auta exei h zoh... to query pou sou esteila doulepse? giati den to exo dokimasei...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Τι λάθος κάνω?

Δημοσίευση από vassilism » 18 Μαρ 2009 21:26

Αφού ρε πατρίδα δεν χρειάζεται να τα δοκιμάσεις, ότι γράφεις δουλεύει ρολόι :D
Την GROUP_CONCAT() δεν την ήξερα ούτε είχα ακουστά.

Απάντηση

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

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

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