query μέσα σε while

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

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

Απάντηση
abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

query μέσα σε while

Δημοσίευση από abeautifulmind » 15 Μαρ 2012 13:20

Καλημέρα σε όλους.
Έχω μία while μετά από query όπου τραβάει όλους τους χρήστες από έναν πίνακα π.χ. users. Kαι έχω και ένα άλλο query από άλλο πίνακα friends με 2 πεδία toid και fromid μέσα στην while.Όταν εκτελείται του ζητάω να τσεκάρει αν το userid του χρήστη που είναι συνδεμένος(από μια session μεταβλητή) ταιριάζει με το πεδίο toid του 2ου πίνακα και αν το fromid πεδίο του δεύτερου πίνακα είναι ίσο με το id του χρήστη που τρέχει εκείνη την στιγμή στο while μην εμφανίζεις ένα κουμπί αλλιώς εμφάνισε το.Το πρόβλημα είναι ότι μόνο για την πρώτη καταχώρηση από τον πίνακα friends δουλεύει για τις επόμενες καταχωρήσεις που βρίσκει ταίριασμα δεν δουλεύει.Παρακάτω ο κώδικας.

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

$get_members="SELECT * from  users  order by lastname ASC ";
$get_members2=mysql_query($get_members) or die("Could not get topic users");



while($get_members3=mysql_fetch_array($get_members2))
{

?>
<div id="emf">

    <?php
	echo"$get_members3&#91;lastname&#93; $get_members3&#91;firstname&#93;";
	
$get_friends="SELECT * from  friends WHERE toid='$_SESSION&#91;userid&#93;'";
$get_friends2=mysql_query&#40;$get_friends&#41; or die&#40;"Could not get topic friends"&#41;;
$get_friends3=mysql_fetch_array&#40;$get_friends2&#41;;

if&#40;$get_friends3&#91;'fromid'&#93;!==$get_members3&#91;'userid'&#93;&#41;
&#123;
?>

<div id="epiloges">
Αποστολή
</div>
<?php
&#125;
?>
</div>
<?php
&#125;
και ενδεικτικά ο πίνακας friends (το πεδίο id είναι auto increament)
id toid fromid
1 1 3
2 3 1
3 5 8
4 8 5
5 1 5
6 5 1
7 1 8
8 8 1
9 3 8
10 8 3
και το $_SESSION[userid] του χρήστη που είναι συνδεμένος είναι 1 και δουλεύει μόνο με την πρώτη καταχώρηση όπου id=1,toid=1 και fromid=3

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

query μέσα σε while

Δημοσίευση από abeautifulmind » 16 Μαρ 2012 15:03

Καμία ιδέα?
έκανα echo fromid και σε όλους μου βγάζει το 3 μέσα στην while αν βοηθάει αυτό.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

query μέσα σε while

Δημοσίευση από Apostolis_38 » 16 Μαρ 2012 19:12

Αν τρέξεις κανονικά το query, με toid='1' αντί για $_SESSION, σου φέρνει τα αποτελέσματα που θέλεις;

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

query μέσα σε while

Δημοσίευση από abeautifulmind » 18 Μαρ 2012 12:11

Όχι Αποστόλη μου κάνει το ίδιο ακριβώς.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

query μέσα σε while

Δημοσίευση από Apostolis_38 » 20 Μαρ 2012 08:40

Κάνε ένα

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

SELECT count&#40;*&#41; from  friends WHERE toid='1'
να δεις πόσες εγγραφές θα σου φέρει.
Μήπως τα δεδομένα δεν είναι αυτά που νομίζεις και σωστά φέρνει ότι φέρνει το query;

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

query μέσα σε while

Δημοσίευση από abeautifulmind » 20 Μαρ 2012 19:03

Σωστά μου τα φέρνει (3 εγγραφές)δεν είναι εκεί το πρόβλημα μάλλον.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

query μέσα σε while

Δημοσίευση από Apostolis_38 » 20 Μαρ 2012 21:33

:evil:
Λες να δημιουργείται από το !==
Βγάλτο και βγάλε απλή ανισότητα (δηλαδή != ) γιατί καμμιά φορά έχει περίεργες αντιδράσεις.

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

if&#40;$get_friends3&#91;'fromid'&#93;!=$get_members3&#91;'userid'&#93;&#41; 

tango
Δημοσιεύσεις: 123
Εγγραφή: 20 Σεπ 2011 05:32

query μέσα σε while

Δημοσίευση από tango » 22 Μαρ 2012 18:29

Μα δεν έχει εσωτερικό loop!!! Προφανώς θα σου δώσει 1 φίλο ανά χρήστη.

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

query μέσα σε while

Δημοσίευση από abeautifulmind » 24 Μαρ 2012 17:18

Tango δοκίμασα και αντί για if ($get_friends3['fromid']!==$get_members3['userid']) με while (($get_friends3['fromid']!==$get_members3['userid'])) αλλά κολλάει δεν κάνει τίποτα.

Απάντηση

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

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

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