Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL][MySQL]Zapytanie Mysql
Forum PHP.pl > Forum > Przedszkole
ala91
Cześć,
Mam taki problem mianowicie chcę zrobić aplikację w PHP która z podanych rzeczy (np dioda plastik przyciski) wybranych z bazy danych pokaże co można zrobić.
Baza która zrobiłam wygląda tak:

id produkt skladnik1 skladnik2 skladnik3
1 lampka dioda plastik przyciski


Mam problem z zapytaniem które pobierze z bazy danych odpowiedni produkt.
Kiedy robię to w zapytaniu typu (bardzo "chałupniczo) sk1=.. or sk2--. or sk3=.. AND sk1=.. or sk2--. or sk3= AND sk1=.. or sk2--. or sk3=.......
Mam jakieś wyniki ale tu pojawia się podstawowy problem a mianowicie:
1. Jak poszeregować wyniki aby te najbardziej trafne były najpierw pokazywane (nie mogę się doszukać komendy)
2.Czy macie pomysł jak zrobić to "ładniej i inteligentniej" bo do kiedy składniki sa tylko 3 to nie ma problemu ale przy kolumnie długości 10 to już masakra ;/

Dziękuję za rady i odpowiedzi.
Pozdrawiam Ala
Spawnm
Masz źle zaprojektowana baze.

table produkt:
id nazwa

table produkt_skladniki:
id produkt_id nazwa

I teraz kombinuj wink.gif
ala91
Nie wiem czy dobrze zrozumiałam:
Pierwsza tablica ma zawierać id i nazwa np:

id nazwa
1 lampka
2 pilot

Druga tabela ma zawierać

id produkt_id nazwa
1 1 plastik
2 2 plastik
3 2 dioda
4 1 zarowka
5 2 zarowka

czy tak może być?
skleps
Ja bym zrobil troszkę inaczej, na 3 tabelach

tabela Skladniki:
id nazwa_skladnika

tabela Produkty:
id nazwa_produktu

tabela Sklad (zawiera przepisy):
id_produktu id_skladnika

w tabeli Skladniki przechowujesz informacje o skaldnikach:
1 plastik
2 dioda
3 zarowka

W tabeli Produkty przechowujesz nazwy produktó
6 pilot

A w tabeli Sklad kojarzysz skaldniki z produktami, np:
6 1
6 2
6 3

daje nam pilot = plastik + dioda + zarowka

Zapytania do tego chyba proste jak konstrukcja cepa bojowego (SELECT + LEFT JOIN) smile.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.