Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] PObieranie 1 zapytanie z kilku tabel
-Gościówa-
post
Post #1





Goście







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 ?!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
golaod
post
Post #2





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Tak jak mówisz, przy takich samych polach wartości są zamieniane na te z drugiej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
-Gościówa-
post
Post #3





Goście







NIe rozumiem ja chcę wiedzieć jak ma wyglądać lina:

$id = $fo['id'];

Czy to ma wyglądać tak ?: $id3 = $fo['tabela3.id'];
Go to the top of the page
+Quote Post
rybik
post
Post #4





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 29.07.2006

Ostrzeżenie: (0%)
-----


spróbuj aliasów

  1. SELECT * FROM (table1 AS t1,table2 AS t2)
Go to the top of the page
+Quote Post
-Gościówa-
post
Post #5





Goście







Ale to chyba zbędne nie ma innych rozwiązań ?
Go to the top of the page
+Quote Post
rybik
post
Post #6





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 29.07.2006

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
bmL
post
Post #7





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


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ć (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował bmL 19.08.2008, 01:31:07
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 15:04