![]() |
![]() |
-gregory32- |
![]()
Post
#1
|
Goście ![]() |
Buduję właśnie wiadomości przesyłane między użytkownikami. Mam w mysql tabelę, w której mam kolumny: nadawca, odbiorca, treść. Aktualnie mam takie zapytanie do bazy:
select nadawca, odbiorca, tresc from `messages` where nadawca="$zalogowanyuzytkownik" union select nadawca, odbiorca, tresc from `messages` where odbiorca="$zalogowanyuzytkownik" I wyświetla mi wszystkie rekordy, w których nadawcą lub odbiorcą jest $zalogowanyuzytkownik. Jak zmodyfikowac to zapytanie, by wyświetlało mi po jednym rekordzie gdzie nadawcą lub odbiorcą jest $zalogowanyuzytkownik? Może wyjaśnię to na przykładzie: w tabeli mam: $zalogowanyuzytkownik, $innyuzytkownik1, $jakastresc1 $innyuzytkownik1, $zalogowanyuzytkownik, $jakastresc2 $innyuzytkownik2, $zalogowanyuzytkownik, $jakastresc3 $zalogowanyuzytkownik, $innyuzytkownik2, $jakastresc4 $zalogowanyuzytkownik, $innyuzytkownik3, $jakastresc5 $innyuzytkownik3, $zalogowanyuzytkownik, $jakastresc6 i chciałbym, by zapytanie wyświetliło mi tylko $zalogowanyuzytkownik, $innyuzytkownik1, $jakastresc1 $innyuzytkownik2, $zalogowanyuzytkownik, $jakastresc3 $innyuzytkownik3, $zalogowanyuzytkownik, $jakastresc6 czyli po jednym rekordzie, gdzie występuje $zalogowanyuzytkownik i $innyuzytkownik. Ktoś pomoże? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 19 Dołączył: 31.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
Zacznijmy od początku.
Masz tabelę z id, sender, receiver, text, is_sender Do bazy danych przy wysyłaniu wiadomości dodajedsz dwa rekordy. Różnią się od siebie tym że jedno w polu is_sender ma 0 a drugie 1. dla odebranych wiadomości robisz tak select * from tabela where receiver=$sesja and is_sender = 0 dla wysłanych wiadomości select * from tabela where sender=$sesja and is_sender = 1 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 22:13 |