Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Wyciągnięcie danych z tabeli
Forum PHP.pl > Forum > Przedszkole
harbii
Chodzi o to:
Wyciągamy dane z tabeli

  1. SELECT * FROM ar WHERE nar='$narid' and naaaa='1' or kolga.id='$narid' ORDER BY `poz` ASC


Wiem, że to źle więc proszę o poprawkę.

Ma być tak, że wyciąga z tabeli ar jeżeli nar='$narid' i naaaa='1' to wiadomo smile.gif oraz jeżeli nar=id z tabeli kolga.
john_doe
nie wiem czy dobrze rozumiem ale po:

1sze - dołącz tą drugą tabelkę do zapytania, zapodaj warunki łączące i daj warunek jaki podałeś

2gie - poczytaj o "if exists" w mySql
harbii
no właśnie tylko jak podłączyć tą drugą tabelką?
GreenGo
np. za pomocą LEFT JOIN
harbii
nie czaje tego left join w tym wypadku

  1. SELECT * FROM ar WHERE nar='$narid' and naaaa='1' or LEFT JOIN kolga.id='$narid' ORDER BY `poz` ASC
?

w skrócie chodzi o to aby odczytał z tabeli ar wszystko gdy nar=$narid oraz wtedy gdy nar=id z tabeli kolga

help!
GreenGo
Jeśli nar to jest to samo co kolega.id to może to tak wyglądać:

  1. SELECT pola które chcesz wyswietlic FROM ar INNER JOIN kolega ON ar.nar = kolega.id WHERE ar.naaa = 1


LEFT JOIN też można zastosować w zależności jakie pola chcesz wyświetlić.


Mam nadzieje, że nie palnąłem jakiejś głupoty tongue.gif
harbii
jak dałem left join zamiast inner to prawie jest ok

prawie bo wyświetlam mi zamiast odpowiednich nazw to nr id z kolga a jak nie ma odpowiedniego rekordu to robi pustą linijkę (br)

dałem tak
  1. SELECT * FROM ar LEFT JOIN kolga ON ar.ngr=kolga.ngr WHERE ar.ngr='$ngrid' and naaaa'1' ORDER BY `poz` ASC


ale ilość pustych linijek odpowiada ilości rekordów z tabeli at smile.gif
GreenGo
Bo "LEFT JOIN" polega własnie na tym, że wyciąga wszyskie pola z tabeli po lewej (ar) i tylko pole powiązane z tabeli po prawej (kolega). Zasotsuj INNER JOIN.
harbii
hmm też nie tak, chyba nie do końca się zrozumieliśmy.

Po walce stwierdziłem, że rozwiążę ten temat inaczej (dodałem sobie dwa rekordy do tabeli ar i warunki , które kontrolują co i gdzie ma się pokazywać - bo chyba JOINem bym tego nie zrobił.

Ale wielkie dzięki za pokazanie jak działa JOIN bo jakoś tego nie mogłem wcześniej zczaić.
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.