Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Produkt z obrazkiem
payonk
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.05.2006

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


Witam
Mam problem z zapytaniem SQL'owym.

Chce wyświetlić wszystkie produkty z odpowiadającymi im obrazkami.

[obrazek] [nazwa produktu]
[obrazek] [nazwa produktu]
[obrazek] [nazwa produktu]

- Każdy produkt może mieć wiele obrazków
- Chce wyświetlić tylko jeden obrazek przy każdym produkcie
- Jeden z wielu obrazków produktu może być oznaczony jako główny.
- Jeżeli jeden z obrazków produktu jest oznaczony jako główny, powinien być wyświetlony
- Jeżeli żaden z obrazków nie jest oznaczony jako główny wyświetlić się powinien pierwszy z brzegu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Czyli
[produkt]
id_produkt
nazwa

[Obrazek]
id_obrazek
nazwa
czy_glowny
id_produkt

produkt.id_obrazek->obrazek.id_obrazek (relacja 1 do wielu)
produkt.czy_glowny przyjmuje wartości 1 lub 0

Czy ktoś może wie jak skonstruować zapytanie SQL (MySQL) najlepiej z wykorzystaniem JOIN ?

Ten post edytował payonk 3.07.2006, 09:24:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
payonk
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.05.2006

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


Ok wyświetla się tylko jeden. Ale niestety są złe wyniki.

Zapytanie wykonałem na bazie:

  1. CREATE TABLE `obrazek` (
  2. `id_obrazek` int(11) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(32) NOT NULL,
  4. `id_produkt` int(11) NOT NULL,
  5. `czy_glowny` tinyint(1) NOT NULL,
  6. PRIMARY KEY (`id_obrazek`)
  7. );
  8.  
  9. INSERT INTO `obrazek` (`id_obrazek`, `nazwa`, `id_produkt`, `czy_glowny`) VALUES (1, 'pierwszy obrazek rowera', 1, 0),
  10. (2, 'drugi obrazek rowera', 1, 1),
  11. (3, 'czeci rower', 1, 0),
  12. (4, 'pierwszy motur', 2, 1),
  13. (5, 'dugi motur', 2, 0);
  14.  
  15. CREATE TABLE `produkt` (
  16. `id_produkt` int(11) NOT NULL AUTO_INCREMENT,
  17. `nazwa` varchar(20) NOT NULL,
  18. PRIMARY KEY (`id_produkt`)
  19. );
  20.  
  21. INSERT INTO `produkt` (`id_produkt`, `nazwa`) VALUES (1, 'rower'),
  22. (2, 'motur');


dostaję taki wynik:

[produkt.nazwa] [obrazek.nazwa]
rower pierwszy obrazek rowera
motur drugi obrazek rowera

Ten post edytował payonk 6.07.2006, 10:35:33
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 03:03