Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie kilka tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
primo
Witam,

to moje początki z bazą innoDB stąd moje pytanie.

  1. IF (!$bd->zapytaj("SELECT artykuly.idArtykulu, artykuly.tytul, artykuly.idAutora, artykuly.idRodzaj, artykuly.dataDodania, autorzy.idAutora, autorzy.imie, autorzy.nazwisko, rodzaj.nazwa
  2. FROM artykuly,
  3. autorzy, rodzaj WHERE nazwa = '".$nazwa."' ORDER BY idArtykulu DESC")) {
  4. die ($bd->blad());
  5. }


dziwi mnie fakt znalezienia 2 rekordów.
W tabeli artykuly jest 1 rekord, w tabeli autorzy są 2 rekordy i w tabeli rodzaj - 3 rekordy.

Z ograniczeniem wyskakujących wyników odnośnie tabeli rodzaj sobie poradziłem ograniczająć zapytanie przez warunek.
Nie wiem natomiast jak ograniczyć zapytanie aby nie uwzględniał sytuacji, że jest wpisanych 2 autorów i wyrzuca mi 2 te same artykuły, ale z innymi autorami questionmark.gif

Tak poza tym to czy jest to poprawna konstrukcja zapytania, można to jakoś ułatwić questionmark.gif
phobos
zapytanie mozesz sobie ulatwic sostujac "aliasy " tzn np. jak amsz takiec cos
  1. SELECT artykuly.idartykulu , artykuly,tytul
  2. FROM artykuly
  3. ;

to mozesz to zastapic tak
  1. SELECT a.idartykuly, a.tytul
  2. FROM artykuly
  3. a;

a po 2 ten blad ze masz 2 rekordy tylko z innymi autorami to proponuje cos takiego
1) pobierasz artykul.idautora
2) robisz 2 zapytanie ktore pyta tabele autorzy o imie i nazwisko autorów ktorzy napisali artykul o jakims id
3) petla while ktora zapisuje wynik zapytania do tablicy i pozniej laczysz wszystkie lementy tablicy za pomoca implode w jeden ciag i wyswietlasz ten ciag jako autorów artykulu
primo
zdaje sie to troche robota głupiego sad.gif bo...
po co tyle roboty dla wyciagniecia czegos oczywistego questionmark.gif Jak bede chcial list autorow wg tego co napisali to sobie wrzuce get i z tego wyciagne kto co napisal, a jak chce miec prosty podzial to zdaje sie takie rozwiazanie jest przerostem formy nad tresc questionmark.gif
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.