Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] PObieranie 1 zapytanie z kilku tabel
Forum PHP.pl > Forum > Przedszkole
Gościówa
Mam problem z pobraniem za pomocą 1 zapytania danych z kilku tabel przedstawię przykład:

  1. <?
  2. $sql = @mysql_query("SELECT * FROM tabela1, tabela3");
  3.  
  4. while ($fo = mysql_fetch_array($sql)) {
  5. $id = $fo['id'];
  6. $id = $fo['id'];
  7. }
  8. ?>


I chcę pobrać z tabeli tabela1 i tabela3 zawartość pola ID jak to zrobić. Przecież nazwa pola jest taka sama ?!
golaod
Tak jak mówisz, przy takich samych polach wartości są zamieniane na te z drugiej smile.gif
Gościówa
NIe rozumiem ja chcę wiedzieć jak ma wyglądać lina:

$id = $fo['id'];

Czy to ma wyglądać tak ?: $id3 = $fo['tabela3.id'];
rybik
spróbuj aliasów

  1. SELECT * FROM (table1 AS t1,table2 AS t2)
Gościówa
Ale to chyba zbędne nie ma innych rozwiązań ?
rybik
może i zbędne ale poprawne, działające i popularne, co więcej - nie widać innych mniej zbędnych rozwiązań

http://www.webdeveloper.com/forum/archive/...p/t-147475.html
bmL
Nie potrzeba aliasów dla tabeli.
  1. <?php
  2. $sql = @mysql_query("SELECT tabela1.id as id1, tabela3.id as id2 FROM tabela1, tabela3");
  3. while ($fo = mysql_fetch_array($sql)) {
  4. echo $fo['id1'].'<br>';
  5. echo $fo['id2'];
  6. ?>


Albo wogóle bez aliasów:
  1. <?php
  2. $sql = @mysql_query("SELECT tabela1.id, tabela3.id FROM tabela1, tabela3");
  3. while ($fo = mysql_fetch_row($sql)) { // mozna dać też mysql_fetch_array()
  4. echo  $fo['0'].'<br>';
  5. echo  $fo['1'];
  6. ?>

Jeżeli się nie mylę bo nie mam siły sprawdzić tongue.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.