Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sql][php]zaprojektowanie tabeli
Gaw
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 27.11.2006

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


witam,
od razu przepraszam, jesli zamiescilem temat w zlym dziale,

mam sklep osCommerce z produktami spozywczymi.
do kazdego produktu chce zeby byla tabelka ze skladem (ilosc bialka, weglowodanow etc.)
ja myslalem w ten sposob, zeby zrobic osobna tabele o takiej strukturze

  1. CREATE TABLE `products_sklad` (
  2. `sklad_id` int(11) NOT NULL AUTO_INCREMENT,
  3. `products_id` int(11) NOT NULL DEFAULT '0',
  4. `sklad1` text collate latin1_general_ci NOT NULL,
  5. `sklad2` text collate latin1_general_ci NOT NULL,
  6. `sklad3` text collate latin1_general_ci NOT NULL,
  7. PRIMARY KEY (`sklad_id`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_general_ci;


taka prosta struktura odpowiadalaby by gdyby sklad1 to nazwa skladnika, sklad2 to ilosc skladnika, a sklad3 odpowiadalby %RDZ (realizacja dziennego spozycia).
sklad_id to klucz, a products_id jest polaczone z products_id z danymi z tabeli produktow.
wyszukiwanie potem nastepuje wg. products_id w tabeli products_sklad

no ale co w przypadku gdybym chcial miec wiecej kolumn.
moje rozwiazanie jest proste jednak przy kilku tysiacach rekordow wyszukiwanie moze juz nie byc takie szybkie.

jesli ktos ma jakies propozycje prosze o odpowiedz.

z gory dziekuje
Go to the top of the page
+Quote Post
lopez86
post
Post #2





Grupa: Zarejestrowani
Postów: 187
Pomógł: 0
Dołączył: 24.12.2006

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


żeby to szybko działało a jednak bez zbednych zadań to czy nie prościej umieścić skład w jednej kolumnie ? potem explodem po czyms tam co sobie wybierzesz , bo jesli chcesz mieć każdy w osobnej kolumnie to przy dodawaniu kazdego produktu trzebaby sprawdzać ilość kolumn i w razie czego dodawań nową oczywiście jako NULL zeby pozostałe mogły byc puste. A kilka tysięcy rekordów to nie dużo, chyba że chciałbyś wyszukiwanie z like wtedy wiadomo że powinno być w osobnej kolumnie z indeksem jednak wtedy musisz zrobicz automatyczne dodawanie kolumn. To dosyć proste myslę że sobie poradzisz. Pozdrawiam.


--------------------
c++ , javascript , PHP , SQL , MYSQL , CSS - wszystko czego potrzebuje prawdziwy mężczyzna LoL
Go to the top of the page
+Quote Post
Gaw
post
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 27.11.2006

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


tak sobie myslalem i doszedlem do wniosku ze mozna by to zrobic w plikach tekstowych.
kolumny rodzielone tabulatorem albo |. przerobilem takze jakas funckje co znalazlem na necie zeby mi wypisywalo z pliku.

wszystko ok, ale tylko wtedy gdy mam dane w prostej postaci np. "białko 20g 15%"
...ale np. gdy mam skladniki ze spacja to sie sypie nie wiem czemu. sadsmiley02.gif
Go to the top of the page
+Quote Post
qwaq
post
Post #4





Grupa: Zarejestrowani
Postów: 162
Pomógł: 1
Dołączył: 15.05.2007
Skąd: Łódź

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


prawdopodobnie skrypt rozdziela calą linię po spacjach

proponuje skladniki porozdzielać *(gwiazdką) i potem w odpowiednim momencie użyć explode("*", ....);

Ten post edytował qwaq 27.07.2007, 09:06:50


--------------------
Chcę kobietę!!! Cierpliwą i wyrozumiałą jak stado bydła przed dojeniem.....

Życie jest jak papier toaletowy-długie, szare i do dupy, ale na szczęście czasem pachnie rumiankiem


wynajmę mieszkanie?
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 - 13:25