Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]INNER, Problem z łączeniem tabeli
tomczyk20151
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 10.11.2015
Skąd: Sierpc

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


Mam problem z łączeniem tabeli, mianowicie posiadam dwie tabele users i friend. Na liście wyświetlam osoby online (znajomych), moich znajomych pobieram z tabeli friend to o ile to dobrze działa, no prawie(niestety są cały czas online)
  1. mysqli_query($conn,"select * from users JOIN friend ON (users.id=friend.id_drugiego) AND (friend.potwierdzenie=1)");

to już to {z działającym online} wysypuje mi błąd
  1. mysqli_query($conn,"select * from users JOIN friend ON (users.id=friend.id_drugiego) AND (friend.potwierdzenie=1) and ('".$czas_czat."' < user.act_time) AND (`user.id` != '".$id_usera."' ");

Jak mogę sobie poradzić, używanie WHERE nic nie pomaga
próbowałem też tak
  1. mysqli_query($conn,"select * from users LEFT JOIN friend ON (users.id=friend.id_drugiego) AND (friend.potwierdzenie=1) WHERE ('".$czas_czat."' < user.act_time) AND (`user.id` != '".$id_usera."')");

Proszę o pomoc

Poradziłem sobie (IMG:style_emoticons/default/smile.gif) temar do zamknięcia
  1. mysqli_query($conn,"select * from users LEFT JOIN friend ON ((users.id=friend.id_drugiego) AND (friend.potwierdzenie=1)) WHERE ('".$czas_czat."' < users.act_time) AND (users.id != '".$id_usera."' ) ");


Jednak nie do zamknięcia. O ile wyświetla wszystko dobrze to jest problem, że próbuję się pozbyć "siebie". Niestety mnie wyświetla jako osoba online w moich znajomych. Jak to mogę rozwiązać? Przyznaje, że mnie już ku....a bierze. Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tomczyk20151
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 10.11.2015
Skąd: Sierpc

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


Udało mi się to ogarnąć (IMG:style_emoticons/default/smile.gif)
pomogło (IMG:style_emoticons/default/smile.gif) , mimo iż includowałem inny plik, który na samej górze ma session_start to i tak musiałem dodać do obecnego pliku, oj biada mi biada (IMG:style_emoticons/default/smile.gif)

O ile to się udało to nasuwa się kolejne pytanie Oczywiście moje ID = 1.
TABELA FRIEND
(IMG:https://snag.gy/Q8gYmq.jpg)

I tu zaczyna się pytanie, jak widzicie drodzy koledzy na powyższym obrazku, są dwa rekordy, gdzie ktoś mi wysłał zaproszenie, oczywiście potwierdziłem je. I jest jeden rekord gdzie ja wysłałem komuś zaproszenie, ten ktoś je również potwierdził. Załóżmy, że wszyscy są online, warunki wszystkie są spełnione, jest wszystko cycuś glancuś. Używając kodu
  1. mysqli_query($conn,"SELECT friend.*, users.* FROM friend LEFT JOIN users ON users.id = friend.od WHERE friend.do = '".$moje_id_bazy_danych."' AND '".$czas_czat."' < users.act_time AND friend.potwierdzenie = '1'");


Wyświetlają mi się tylko osoby, które zaprosiły mnie. Co mam wstawić do powyższego kodu, aby oprócz osób online, które mnie zaprosiły były widoczne osoby, które ja zaprosiłem?

Próbowałem tak

  1. mysqli_query($conn,"SELECT friend.*, users.* FROM friend LEFT JOIN users ON users.id = friend.od WHERE friend.do = '".$moje_id_bazy_danych."' OR friend.od = '".$moje_id_bazy_danych."' AND '".$czas_czat."' < users.act_time AND friend.potwierdzenie = '1'");

Ale niestety zamiast osoby do której wysałem zaproszenie pokazuję się JA.

  1.  
  2. <?php
  3.  
  4.  
  5.  
  6.  
  7.  
  8. $nick_czata = mysqli_query($conn,"SELECT friend.*, users.* FROM friend LEFT JOIN users ON users.id = friend.od WHERE (friend.do = '".$moje_id_bazy_danych."' OR friend.od = '".$moje_id_bazy_danych."') AND '".$czas_czat."' < users.act_time AND friend.potwierdzenie = '1'");
  9.  
  10. if(mysqli_num_rows($nick_czata)>0) {
  11.  
  12. while($ra = mysqli_fetch_assoc($nick_czata)) {
  13.  
  14. $zdjecia2 = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM avatary where id_user='".$ra['od']."'"));
  15. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  16.  
  17.  
  18.  
  19.  
  20.  
  21. echo '<div class="friend-online">
  22. <div class="friend-avatar">';
  23. echo "<img src='imgs/".$zdjecia2['avatar']."'>";
  24. echo ' </div>
  25. <div class="friend-name">
  26. <a href="profile.php?id='.$ra['id'].'">'.$ra["name"].' '.$ra['surname'].'</a>
  27.  
  28. </div>
  29. <a href="newmessage.php?id='.$ra['id'].'"><div class="friend-message"></div></a>
  30. </div>';
  31.  
  32. }
  33. }
  34. else {
  35. echo ' <div class="friend-online">
  36. Nikt nie jest aktywny.
  37. </div>';
  38.  
  39. }
  40. ?>
  41.  
  42.  

może coś w całym kodzie jest nie tak. To jest już właśnie ostatni problem i niestety lipa

Bardzo przepraszam za taką ilość SPAMU w tym temacie. Udało się, trochę to dziwnie zrobiłem, no ale działa. Oto kod, napiszcie co myślicie o takim rozwiązaniu:
  1.  
  2. <?php
  3.  
  4.  
  5.  
  6.  
  7.  
  8. $nick_czata = mysqli_query($conn,"SELECT friend.*, users.* FROM friend LEFT JOIN users ON users.id = friend.od WHERE friend.do = '".$moje_id_bazy_danych."' AND '".$czas_czat."' < users.act_time AND friend.potwierdzenie = '1'");
  9. $nick_czatb = mysqli_query($conn,"SELECT friend.*, users.* FROM friend LEFT JOIN users ON users.id = friend.do WHERE friend.od = '".$moje_id_bazy_danych."' AND '".$czas_czat."' < users.act_time AND friend.potwierdzenie = '1'");
  10.  
  11. if(mysqli_num_rows($nick_czata)>0 or mysqli_num_rows($nick_czatb)>0) {
  12.  
  13. while($ra = mysqli_fetch_assoc($nick_czata) or $ra = mysqli_fetch_assoc($nick_czatb)) {
  14. $zdjeciea = mysqli_query($conn, "SELECT * FROM avatary where id_user='".$ra['od']."'");
  15. $zdjecieb = mysqli_query($conn, "SELECT * FROM avatary where id_user='".$ra['do']."'");
  16. $zdjecia2 = mysqli_fetch_assoc($zdjeciea) or $zdjecia2 = mysqli_fetch_assoc($zdjecieb);
  17. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  18.  
  19.  
  20.  
  21.  
  22.  
  23. echo '<div class="friend-online">
  24. <div class="friend-avatar">';
  25. echo "<img src='imgs/".$zdjecia2['avatar']."'>";
  26. echo ' </div>
  27. <div class="friend-name">
  28. <a href="profile.php?id='.$ra['id'].'">'.$ra["name"].' '.$ra['surname'].'</a>
  29.  
  30. </div>
  31. <a href="newmessage.php?id='.$ra['id'].'"><div class="friend-message"></div></a>
  32. </div>';
  33.  
  34. }
  35. }
  36. else {
  37. echo ' <div class="friend-online">
  38. Nikt nie jest aktywny.
  39. </div>';
  40.  
  41. }
  42. ?>


Oczywiście kod działa jak natura tzn ja chciałem (IMG:style_emoticons/default/tongue.gif)

Z GÓRY BARDZO WAM DZIĘKUJĘ ZA KAŻDĄ PRÓBĘ POMOCY (IMG:style_emoticons/default/smile.gif)


Ten post edytował tomczyk20151 31.05.2017, 17:14: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: 9.10.2025 - 16:54