Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Wyświetlanie zdjęć z konkretnej podkategorii
Prodix
post 30.07.2008, 13:43:47
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 12.11.2004

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


Mam problem z wyświetlaniem zdjęć z konkretnej podkategorii, a mianowicie wysypuje mi wszystkie zdjęcia. Może wiecie co jest nie tak?

  1. <? if(isset($_GET['portfolio']))
  2. {
  3. $id=$_GET['portfolio'];
  4. $MY_Qo=mysql_query("SELECT * FROM `kategoria`");
  5. while($MY_Ao=mysql_fetch_array($MY_Qo))
  6. {
  7. $kid=$MY_Ao['id'];
  8. $MY_Qi=mysql_query("SELECT * FROM `podkategoria` WHERE `kategoria`='$kid'");
  9. while($MY_Ai=mysql_fetch_array($MY_Qi))
  10. {
  11. $pkid=$MY_Ai['id'];
  12. $MY_Qe=mysql_query("SELECT * FROM `portfolio` WHERE `podkategoria`='$pkid'");
  13. while($MY_Ae=mysql_fetch_array($MY_Qe))
  14. {
  15. echo '<a href="../zdjecie/' . $MY_Ae['foto'] . '.jpg" rel="lightbox" title="' . $MY_Ae['text'] . '"><img src="../miniatura/'.$MY_Ae['thumb'].'.jpg" alt="" style="margin:1px;" /></a>';
  16.  
  17. }
  18. }
  19. }
  20. }
  21. ?>


Ten post edytował Prodix 30.07.2008, 14:32:49
Go to the top of the page
+Quote Post
JoShiMa
post 30.07.2008, 14:36:38
Post #2





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


1. Nie wiem jakie masz relacje w tabelach więc trudno mi powiedzieć do jest nie tak
2. Tak jak tobisz to jest masakra. Zobacz ile razy musi się wykonać zapytanie. Zainteresuj się złączeniami JOIN i zrób wszystko w jednym mądrym zapytaniu.


--------------------
Go to the top of the page
+Quote Post
Prodix
post 30.07.2008, 19:04:46
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 12.11.2004

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


  1. --
  2. -- Struktura tabeli dla `kategoria`
  3. --
  4.  
  5. CREATE TABLE `kategoria` (
  6. `id` int(4) NOT NULL AUTO_INCREMENT,
  7. `nazwa` varchar(255) NOT NULL DEFAULT '',
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=4 ;
  10.  
  11. -- --------------------------------------------------------
  12.  
  13. --
  14. -- Struktura tabeli dla `podkategoria`
  15. --
  16.  
  17. CREATE TABLE `podkategoria` (
  18. `id` int(4) NOT NULL AUTO_INCREMENT,
  19. `nazwa` varchar(255) NOT NULL DEFAULT '',
  20. `kategoria` varchar(4) NOT NULL DEFAULT '0',
  21. PRIMARY KEY (`id`)
  22. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=4 ;
  23.  
  24. -- --------------------------------------------------------
  25.  
  26. --
  27. -- Struktura tabeli dla `portfolio`
  28. --
  29.  
  30. CREATE TABLE `portfolio` (
  31. `id` int(4) NOT NULL AUTO_INCREMENT,
  32. `nazwa` varchar(255) NOT NULL DEFAULT '',
  33. `tresc` text NOT NULL,
  34. `foto` text character SET utf8 collate utf8_polish_ci NOT NULL,
  35. `thumb` text character SET utf8 collate utf8_polish_ci,
  36. `podkategoria` int(4) NOT NULL DEFAULT '0',
  37. PRIMARY KEY (`id`)
  38. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=5 ;
Go to the top of the page
+Quote Post
wipo
post 30.07.2008, 19:28:43
Post #4





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


  1. <?php
  2. if(isset($_GET['portfolio'])) {
  3. //to jak chcesz zdjecia z podkategorii
  4.     $query=mysql_query("select p.foto, p.text, p.thumb from portfolio p where p.podkategoria={$_GET
    ['podkategoria']}"
    );
  5.  
  6. //to jak chcesz zdjecia z kategorii
  7.     $query=mysql_query("select p.foto, p.text, p.thumb from portfolio p join podkategoria o on o.id
    =p.podkategoria where o.kategoria={$_GET['podkategoria']}"
    );
  8.  
  9.  
  10.     while($e=mysql_fetch_array($query)){
  11. echo '<a href="../zdjecie/' . $e['foto'] . '.jpg" rel="lightbox" title="' . $e['text'] . '"><img src="../miniatura/'.$e['thumb'].'.jpg" alt="" style="margin:1px;" /></a>';
  12.     }
  13.  
  14. }
  15. ?>


Ten post edytował wipo 30.07.2008, 19:28:59


--------------------
Go to the top of the page
+Quote Post
Prodix
post 30.07.2008, 19:44:32
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 12.11.2004

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


ok, działa.

Wielkie dzięki. Także za pomoc Tomplus'a.

Ten post edytował Prodix 30.07.2008, 20:28:19
Go to the top of the page
+Quote Post
JoShiMa
post 30.07.2008, 21:39:42
Post #6





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Uważam, że niepotrzebnie masz dwie tabelki kategorie i podkategorie. Strukturę drzewiastą daje się zrobić w jednej tabelce dokładając jedną kolumnę w której jest info który z rekordów jest rekordem nadrzędnym. W ten sposób w jednej tabelce możesz zrobić nieskończone zagłębienia.


--------------------
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 Wersja Lo-Fi Aktualny czas: 15.06.2025 - 10:59