Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak ograniczyc zapytanie mające dwa Joiny
Forum PHP.pl > Forum > Bazy danych > MySQL
domin82
Witam mam prośbę czy ktoś mi podpowie jak zrobić coś takiego:

Mam 3 tabele:
Uzytkownik
WiadomosciWyslalne
StatusyWiadomosciWyslanych (są celowo w innej tabeli)

Uwaga jedna wiadomosc mogla zostac wyslana do wiecej niz jedengo uzytkownika. jak zrobic zapytanie zeby pobrac dane np. 0-10 wiadomosci, 10-20 wiadomosci itd.

chodzi o wyswietlanie z podzialem na strony tylko jak zrobie limit na koncu to nie uwzgledni mi tego ze jedna wiadomosc moze miec kilku adresatow.

Coś czytałem o podzapytaniach ale nie wiem jak je skonstruować(coś mi nie wychodzą) a ponadto chciałbym rozwiąanie w miarę optymalne;


Obecne moje zapytanie wygląda następująco:

  1. <?php
  2. $zapytanie = "SELECT wiadomosci_wyslane.id as idWiad, wiadomosci_wyslane.idNadawca,
  3.                                                           wiadomosci_wyslane.temat, wiadomosci_wyslane.data as dataWyslania,  wiadomosci_wyslane.tresc, wiadomosci_wyslane.usunieta,
  4.  statusy_wyslanych_wiadomosci.idWiadomoscWyslana,  statusy_wyslanych_wiadomosci.idOdbiorca,  statusy_wyslanych_wiadomosci.status, statusy_wyslanych_wiadomosci.data,
  5.  uzytkownicy.id, uzytkownicy.sortNazwisko, uzytkownicy.nazwisko, uzytkownicy.imie, uzytkownicy.nazwa
  6.                                                        
  7.                                          FROM wiadomosci_wyslane
  8.                                          JOIN  statusy_wyslanych_wiadomosci ON  statusy_wyslanych_wiadomosci.idWiadomoscWyslana = wiadomosci_wyslane.id
  9.                                        
  10.                                          JOIN uzytkownicy ON uzytkownicy.id = statusy_wyslanych_wiadomosci.idOdbiorca
  11.                                          WHERE wiadomosci_wyslane.idNadawca = '$idUser'  AND  wiadomosci_wyslane.usunieta = 0
  12.                                          ORDER BY wiadomosci_wyslane.id DESC
  13.                                          LIMIT $wiadomosciOd, $maxLiczbaWiadomosciNaStronie ";
  14. ?>

Bardzo dziekuje za wszystkie wskazówki. Mile widziany fragment kodu, który będzie zblizony żebym wiedział jak skonstruować takie zapytanie lub podzapytania.

Ogólnie wiem, że limit powinien być zastosawny dla tabeli wiadomosci_wyslane przed zrobieniem join, ale nie wiem jak to zrobić, żeby działało no i było w miare optymalne.

Jestem początkujący i prosze o wyrozumiałośc.
kefirek
poszukaj na forum pod nazwą paginacja lub stronicowanie było wiele razy na forum
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.