Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Warunki - odpowiedni napis
kamil_lk
post
Post #1





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

Ostrzeżenie: (0%)
-----


Witam.
Mam dwie tabele, znajomi oraz zaproszenia.
Podczas wyszukiwania chciałbym aby przy osobach które znajdziemy był odpowiedni napis, tj. Zaproś, Oczekuje, Znajomy/a
mam dwa zapytania sprawdzające czy w bazie jest taki record, a mianowicie:

  1. $zapytanie = mysql_query("SELECT * FROM `user` WHERE `imie` LIKE '%$imie%'");
  2. while($record = mysql_fetch_array($zapytanie)){
  3. if($record['5'] != $_SESSION['numer']){ // jeśli numer z bazy nie jest moim numerem to wyświetl
  4. $zapytanie2 = mysql_query("SELECT * FROM `zaproszenia` WHERE `wyslane_przez`=".$_SESSION['numer']." and `wyslane_do`=".$record['5']); // czy wysłałem zaproszenie do tej osoby
  5. $zapytanie3 = mysql_query("SELECT * FROM `znajomi` WHERE (`user_1`=".$_SESSION['numer']." and `user_2`=".$record['5'].") or `user_2`=".$_SESSION['numer']." and `user_1`=".$record['5']); // czy osoba jest moim znajomym
  6. if((!mysql_fetch_array($zapytanie2)) && (!mysql_fetch_array($zapytanie3))) //1
  7. echo $record['3']." ".$record['4']." <a href=?userid=".$record['5'].">Zaproś</a><br />";
  8. if((mysql_fetch_array($zapytanie2)) && (!mysql_fetch_array($zapytanie3))) //2
  9. echo $record['3']." ".$record['4']." - Oczekuje na akceptację<br />";
  10. if((!mysql_fetch_array($zapytanie2)) && (mysql_fetch_array($zapytanie3))) //3
  11. echo $record['3']." ".$record['4']." - Znajomy/a<br />";
  12. }
  13. }


Warunek #1 działa normalnie, tzn. gdy nie ma wpisów w żadnej tabeli to wyświetla 'Zaproś', natomiast #2 i #3 już nie działają (nic nie wyświetlają). Dana osoba, którą zaprosiłem (znajduje się w tabeli zaproszenia lub znajomi) nie wyświetla mi się podczas wyszukiwania. Możecie mnie naprowadzić co jest źle?

----------------------------------

Już poprawiłem, a mianowicie przed każdym warunkiem dałem te same zapytania. Może mi ktoś powiedzieć dlaczego tak się dzieje że przed każdym warunkiem musiałem wykonać te zapytania?

  1. $zapytanie2 = mysql_query("SELECT * FROM `zaproszenia` WHERE `wyslane_przez`=".$_SESSION['numer']." and `wyslane_do`=".$record['5']); // czy wysłałem zaproszenie do tej osoby
  2. $zapytanie3 = mysql_query("SELECT * FROM `znajomi` WHERE (`user_1`=".$_SESSION['numer']." and `user_2`=".$record['5'].") or user_2`=".$_SESSION['numer']." and `user_1`=".$record['5']); // czy osoba jest moim znajomym
  3.  
  4. if((!mysql_fetch_array($zapytanie2)) && (!mysql_fetch_array($zapytanie3)))
  5. echo $record['3']." ".$record['4']." <a href=?userid=".$record['5'].">Zaproś</a><br />";
  6.  
  7. $zapytanie2 = mysql_query("SELECT * FROM `zaproszenia` WHERE `wyslane_przez`=".$_SESSION['numer']." and `wyslane_do`=".$record['5']); // czy wysłałem zaproszenie do tej osoby
  8. $zapytanie3 = mysql_query("SELECT * FROM `znajomi` WHERE (`user_1`=".$_SESSION['numer']." and `user_2`=".$record['5'].") or `user_2`=".$_SESSION['numer']." and `user_1`=".$record['5']); // czy osoba jest moim znajomym
  9. if((mysql_fetch_array($zapytanie2)) && (!mysql_fetch_array($zapytanie3)))
  10. echo $record['3']." ".$record['4']." - Oczekuje na akceptację<br />";
  11.  
  12. $zapytanie2 = mysql_query("SELECT * FROM `zaproszenia` WHERE `wyslane_przez`=".$_SESSION['numer']." and `wyslane_do`=".$record['5']); // czy wysłałem zaproszenie do tej osoby
  13. $zapytanie3 = mysql_query("SELECT * FROM `znajomi` WHERE (`user_1`=".$_SESSION['numer']." and `user_2`=".$record['5'].") or `user_2`=".$_SESSION['numer']." and `user_1`=".$record['5']); // czy osoba jest moim znajomym
  14. if((!mysql_fetch_array($zapytanie2)) && (mysql_fetch_array($zapytanie3)))
  15. echo $record['3']." ".$record['4']." - Znajomy/a<br />";


Ten post edytował kamil_lk 10.01.2011, 23:27:17
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 04:26