Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Aktywność użytkownika oraz jego znajomych, problem z wyciąganiem z bazy
Natalka
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 6
Dołączył: 28.10.2009
Skąd: że znowu...

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


Witam wszystkich smile.gif

Zasiedziałam się właśnie nad jednym problemem, z którym nie potrafię sobie poradzić, chodzi o wyciąganie danych z bazy.

Tworzę w swoim nowym serwisie dział z aktywnością, działać ma w taki sposób że w momencie gdy dodaję zdjęcie zapisuje się moja aktywność w bazie danych, jeżeli ktoś obserwuje mnie, pojawi mu się ta aktywność. To samo tyczy się innych akcji i tutaj jest problem by połączyć wszystkie akcje w jednym zapytaniu i wyświetlać całą aktywność.

Tak wygląda moja baza danych w chwili obecnej:




Na obrazku zademonstrowałam jakie dane zapisywane są w bazie danych, kogo tam numer id się znajduje.


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

Na chwile obecną wyświetlam aktywność która skierowana jest od znajomych (czyli aktywności znajomych) takim zapytaniem :

Kod
SELECT activites.* FROM PROFILE_activites AS activites INNER JOIN PROFILE_friend AS friend ON activites.idFrom = friend.user WHERE friend.myId = '$id' ORDER by activites.addDate DESC LIMIT 10


Gdzie $id - to id osoby która przegląda aktywność, ponieważ u niech chcę to wyświetlić. To zapytanie zwraca mi wszystko w bardzo fajny sposób, wyświetla mi się aktywność znajomych, ale nie wyświetla się nic co skierowane jest tylko do mnie.

Czyli nie dostaję nic gdzie idTo = moje id . I tutaj nie wiem w jaki sposób połączyć te dwa zapytania

Dane skierowane do mnie mogę wyciągnąć zapytaniem

Kod
SELECT activites.* FROM PROFILE_activites AS activites WHERE activites.idTo = '$id' ORDER by activites.addDate DESC LIMIT 10



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

Niestety wiem że problemem jest samo zapytanie, a ja jeszcze nie mam aż tak dużego doświadczenia by samemu dojść do tego w jaki sposób to połączyć, czytałam na stackoverflow, porównywałam próbowałam coś dodać, ale szczerze przyznam że słabo rozumiem INNER, RIGHT JOIN, LEFT JOIN dlatego nic z tego nie wychodzi.

Sama myślałam że wyciągne to takim zapytaniem :

Kod
SELECT activites.* FROM PROFILE_activites AS activites INNER JOIN PROFILE_friend AS friend ON activites.idFrom = friend.user WHERE friend.myId = '$id' OR (activites.idTo = '$id') ORDER by activites.addDate DESC LIMIT 10


Ale dostaję bardzo długą listę, aktywności która się powtarza.


Wiem że to nie łatwe i nie każdy będzie chciał poświęcić czas na to by mi pomóc, ale jeżeli znajdzie się jedna osoba chętna do pomocy będę ogromnie wdzięczna smile.gif
Z góry naprawdę dziękuję za same chęci, nie traktujcie mnie ulgowo, jeżeli mogę coś zmienić to proszę o informację sama dopiero się uczę.


Jeżeli coś źle wytłumaczyłam, a jest to możliwę, to proszę o informację chętnie wyjaśnię szczegółowo.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 09:19