Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php[mysql] Zlożone zapytanie do bazy
wcg
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 21.07.2006

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


Witam
Mam galerie zdjęc. W tabeli "foto" zapisywane sa nazwy galerii, a w tabeli "foto_pliki" pliki oraz nr pola z tabeli "foto". Chcialbym wyswietlic wszytskie galerie z tabeli foto i dolaczyc po jednym.
napisalem tak

  1. <?php
  2. $wynik = mysql_query("SELECT * FROM foto");
  3. while ($show = mysql_fetch_array($wynik)) {
  4. $id = $show['id'];
  5. $nazwa = $show['nazwa'];
  6. $naglowek_pl = $show['naglowek_pl'];
  7. $plik = mysql_query("SELECT * FROM foto_pliki WHERE galeria='$id' LIMIT 1");
  8. while ($showplik = mysql_fetch_assoc($plik)) {
  9. $plik1 = $showplik['plik'];
  10. }
  11. echo "$naglowek_pl<br>";
  12. echo "$plik1<br>";
  13. }
  14. ?>


Czy ktos moze wie jak jedno zapytanie do bazy zamiast dwoch tak jest to przedstawione powyzej?
Zdecydowanie latwiej bedzie pozniej uzyc takiego pojedynczego zapytanie, poniewaz stosuje szablony smarty.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Hazel
post
Post #2





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


  1. SELECT * FROM foto AS f, foto_pliki AS fp WHERE fp.galeria = f.id LIMIT 1


Ten post edytował Hazel 17.08.2007, 12:40:15


--------------------
Go to the top of the page
+Quote Post
wcg
post
Post #3





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 21.07.2006

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


To wtedy wyswietli tylko jeden wiersz z jedna galeria, a ma wyswietlic wszytskie galerie z jednym zdjeciem z kazdej
Go to the top of the page
+Quote Post
kris2
post
Post #4





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 15.08.2007

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


  1. SELECT *,(SELECT fp.plik FROM foto_pliki fp WHERE fp.galeria=f.id LIMIT 1 ) FROM foto f;
Go to the top of the page
+Quote Post
Hazel
post
Post #5





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


Tak. To drugie zapytanie jest dobre, pierwsze było pomyłką.
Mój błąd.


--------------------
Go to the top of the page
+Quote Post
wcg
post
Post #6





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 21.07.2006

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


Zrobilem tak
  1. <?php
  2. $wynik = mysql_query("SELECT *,(SELECT fp.plik FROM foto_pliki fp WHERE fp.galeria=f.id LIMIT 1) FROM foto f");
  3. while ($show = mysql_fetch_array($wynik)) {
  4.  
  5. $naglowek_pl = $show['naglowek_pl'];
  6. $plik1 = $show['plik'];
  7. echo "$naglowek_pl<br>";
  8. echo "$plik1<br>";
  9. }
  10. ?>


ale wyswietla tylko liste galerii bez nazwy pliku
Go to the top of the page
+Quote Post
kris2
post
Post #7





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 15.08.2007

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


Spróbuj tak:

  1. SELECT *,(SELECT fp.plik FROM foto_pliki fp WHERE fp.galeria=f.id LIMIT 1 ) AS plik FROM foto f
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 14:20