Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Znajomi
Forum PHP.pl > Forum > Przedszkole
Johnas
Witam! Zrobiłem (może nie do końca) znajomych i mam problem. Otóż nie wiem jak zrobić plik odpowiedzialny za pokazywanie. TZN. wiem jak ale nie wiem jakim zapytaniem dane wyjąć z bazy danych.

Mam tabele znajomi a w niej nrziomka, dodający, przyjaciel, akcept (1-on/0-off)

Chcę aby pobierało te w których jestem dodającym i przyjacielem.
Znalazłem coś takiego ale kompletnie nie wiem jak to działa.
  1.  
  2. SELECT a.data_dolaczenia, IF(a.id1=id_aktualnie_zalogowanego_usera, a.id2, a.id1) AS znajomy, b.login FROM znajomi a
  3. LEFT JOIN users b ON b.id=znajomy
  4. WHERE id1=id_aktualnie_zalogowanego_usera XOR id2=id_aktualnie_zalogowanego_usera;


Nie rozumiem co w tym kodzie jest "znajomy" bo jak go do sql wrzucałem to id sie zmieniał a login cały czas był ten sam(testowałem na dwóch userach) i jak wpisałem za id 1 to pokazywal w znajomych id2 ale mój login jak wpisałem za id 2 to pokazywał id 1 ale login dalej tan sam czyli mój.

Za pomoc dziękuje
krispak
Nie wystarczy cos takiego?
  1. SELECT * FROM znajomi WHERE dodajacy = $twojeID AND przyjaciel = $twojeID

Chyba ze co innego trzymasz w tych kolumnach..
Johnas
MySQL zwraca pusty wynik (zero rekordów)

W bazie znajomi trzymam jeszcze kod(potrzebny do akceptacji) data(gdzie jest to data dodania do znajomych)

  1. <?php
  2. session_start(); // rozpoczęcie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <?
  8. if( isset($_GET['znajomy']) AND is_numeric($_GET['znajomy']) )//$_get czyli ustawienia linku ;)
  9.  
  10. {
  11. include 'inc/db.php'; // połączenie się z bazą danych
  12. // ustanowienie połączenia z bazą danych
  13. $user = mysql_fetch_assoc(mysql_query("SELECT * FROM rejestracja WHERE `id`=".mysql_real_escape_string($_GET['znajomy'])." LIMIT 1;"));
  14. $twojeID = $_SESSION['id'];
  15. $result = mysql_query("SELECT * FROM znajomi JOIN rejestracja ON znajomi.przyjaciel = rejestracja.id WHERE dodajacy = ".mysql_real_escape_string($_GET['znajomy'])."") or mysql_error();
  16. $result2 = mysql_query("SELECT * FROM znajomi JOIN rejestracja ON znajomi.dodajacy = rejestracja.id WHERE przyjaciel = ".mysql_real_escape_string($_GET['znajomy'])."") or mysql_error();
  17. ?>
  18.  
  19. <?php
  20. if (!empty($user)) {
  21.  
  22. echo '<h2>&raquo; YouPhoto-Znajomi użytkownika '. $user['login'] .'</h2>';
  23. echo '<div class="content">';
  24. }
  25.  
  26. while($row = mysql_fetch_array($result, MYSQL_BOTH)) {
  27. if ($row['akcept'] == 1){
  28. echo '<a href="profile.php?user_id='. $row['id'] .'"><img class="ramka" src="'. $row['avatar'] .'" border=0 width=100><div class="ramka">'. $row['login'] .'</a></div>';
  29. } else {
  30. echo 'Nie masz jeszcze znajomych którzy cie zaakceptowali';
  31. }
  32. }
  33.  
  34. while($rowa = mysql_fetch_array($result2, MYSQL_BOTH)) {
  35. if ($rowa['akcept'] == 1){
  36. echo '<a href="profile.php?user_id='. $rowa['id'] .'"><img class="ramka" src="'. $rowa['avatar'] .'" border=0 width=100><div class="ramka">'. $rowa['login'] .'</a></div>';
  37. }
  38. }
  39. }
  40. ?>
  41.  
  42. </div>
  43. <?php include('footer.php'); ?>


W ten sposób to rozwiązałem ale teraz pytanie jak sprawdzać czy dany user jest w znajomych
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.