Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Łączenie tabel
Forum PHP.pl > Forum > Przedszkole
HakuQ
  1. echo "<table border=1>";
  2. $query = $con->query("SELECT Imie, Nazwisko, Numery FROM Osoba1, Numery");
  3. while($rec = $query->fetch_assoc()) {
  4. echo "<tr><td>{$rec['Imie']}</td><td>{$rec['Nazwisko']}</td></tr>";
  5. }
  6.  
  7. echo "</table>";


Ja mogę połączyć wyniki w jednej tabeli? W ten sposób właśnie wyświetla mi wyniki 4 razy.
Lion
Podajesz za mało informacji o budowie tabel Osoba1 i Numery. Nie wiadomo jak się łączą o ile w ogóle.
HakuQ
Cytat(Lion @ 8.07.2016, 12:03:53 ) *
Podajesz za mało informacji o budowie tabel Osoba1 i Numery. Nie wiadomo jak się łączą o ile w ogóle.


łączą się tylko, że się dublują

zamiast pętli while zrobiłem tak
  1. for($i=1; $i <= 4; $i++) {
  2. $rec=$query->fetch_assoc();
  3. echo "<tr>
  4. <td>{$rec['Imie']}</td>
  5. <td>{$rec['Nazwisko']}</td>
  6. <td>{$rec['Numery']}</td>
  7. </tr>";
  8. }


Tylko teraz wyświetla z każdym wynikiem Imie i Nazwisko tylko pierwszy numer telefonu. Jak zmienię miejscami Osoba1 i Numery
  1. "SELECT Imie, Nazwisko, Numery FROM Numery, Osoba1"

to wyświetla mi wszystkie numery ale dla 1 wyniku Imie i Nazwisko czyli mam 4 razy Jan Kowalski i 4 różne numery :/
nospor
@HakuQ robiac zapytanie na dwoch tabelach MUSISZ ZAWSZE powiedziec bazie po czym laczysz te tabele. Jesli tego nie zrobisz (czyli tak jak masz teraz) to zapytanie zwroci ci iloczyn kartezjanski czyli kazdy rekord z tabeli1 z kazdym rekordem z tabeli2. Czyli jesli jedna tabela ma 2 rekordy a druga ma 3 to w rezultacie dostaniesz 2x3=6 rekordow.

Poczytaj w manualu o JOIN oraz nieodzwonym ON przy JOIN.
HakuQ
@nospor

Zrobiłem tak:
  1. "SELECT Osoba1.Imie, Osoba1.Nazwisko, Numery.Numery FROM Osoba1 JOIN Numery ON Osoba1.Imie = Numery.ID"


Nic się nie wyświetla i nie pokazuje żadnych błędów
nospor
Osoba1.Imie = Numery.ID
A od kiedy Imie to ID w Numery? Naprawde pod kolumna ID w Numery masz IMIE??
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.