phpRS help fórum : phpRS Fórum
Hlavní diskuzní phpRS fórum. Najdete zde odpovědi na otázky týkající se provozu a instalace phpRS systému.
phpRS - redakční a informační systém
Checkbox a insert do databáze a následné zobrazení uložených dat
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2013-03-25, 20:39

Chtěl bych poradit, asi to bude prkotina, ale nevím si rady.

Potřeboval bych do databázové tabulky, resp. do řádku v db tabulce např. produkty insertovat hodnoty, které by byly zaškrtnuty z několika checkboxů, které by asi měly mít stejný "name" (viz např. pomocí číselného id produktů -takže by se to uložilo např. 1, 4, 5, 9)

a následně tyto hodnoty zase z tohoto řádku v databázi vytáhnout při jejich zoobrazení (např. pro další editaci apod.)

Navíte někdo, jak se to řeší?
Díky za radu.

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Checkbox a insert do databáze a následné zobrazení uložených dat
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2013-03-25, 20:50

no rozhodně není dobré tyto hodnoty ukládat do jednoho pole v tabulce, je mnohem lepší mít pro každou hodnotu jeden řádek v nějaké další tabulce s odkazem, ke kterému článku se hodnoty vztahují - pak se dá mnohem lépe pracovat s těmito daty v databázi

Re: Checkbox a insert do databáze a následné zobrazení uložených dat
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2013-05-25, 21:24

No uvedu to na příkladu:

- Budu mít např.katalog firem. Každá firma má své id. Těch firem může být stovky.
- Dále budu mít třeba 50 kategorií.

Každá firma může být ve více kategoriích (viz např. prodejce automobilu, zároveň, autoservis, zároveň STK atd.)

1. Možnost:
Je tu možnost mít třeba u firmy řádek kategorie a tam pomocí implode poskládat id kategoriíí a pomocí explode je zase vyvolat. Nemusí to být problém při výpisu, v jakých kategorií se nachází vybraná firma

ALE

Co když budu hledat všechny firmy, které se nachází v kategorii např. s ID 10 (třeba Autoservisy)??? To bude dotaz procházet všechny firmy a pomocí explode zjišťovat, zda firma má v poli kategorie číslo 10?

2. Možnost:
Vytvořit ještě jednu tabulku kde budou dva sloupce - IDFIRMY a IDKATEGORIE a pak sosat všechny firmy, kde ID kategorie = 10. To by asi bylo rychlejší. Ale nebude do zase komplikované s přidáváním dalších a dalších řádků s přibývajícíma firmama? Extrémní příklad 100000 firem a každá i v mnoha kategoriích.

A ještě jedna věc. Dokážu to popsat, ale jaké by pak bylo technické řešení, jak tu a nebo onu možnost správně udělat, aby byla co nejrychlejší a co nejméně zatížila databázi.

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Checkbox a insert do databáze a následné zobrazení uložených dat
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2013-05-25, 22:02

Možnosť 1 sa dá riešiť na úrovni SQL cez LIKE ak budeš mať uložené idáčka oddelené napríklad znakom | napríklad |1|2|3|, potom: SELECT * FROM firmy WHERE id_kategorie LIKE("%|1|%").

Takže dá sa, ale možnosť 2 je správne riešenie. Urobíš to presne ako píšeš, samostatná tabuľka, kde id_takegorie a id_firma budú indexované, pričom kombinácia oboch polí môže byť primárny index. Najrýchlejšie a najčistejjšie riešenie.

Re: Checkbox a insert do databáze a následné zobrazení uložených dat
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2013-05-25, 22:35

Takže pokud správně chápu tak např:

budu přidávat do databáze novou firmu

Provedu první insert do tabulky firma (např. idf 23) a s tím třeba ulici, psč atd. atd.

a zároveň přidám druhý insert do další tabulky kategorie_firmy, v případě,že bude mít třeba 5 kategorií, tak se přidá 5 řádků

idfirmy - idkategorie

např.takto

23 - 2
23 - 5
23 - 6
23 - 8
23 - 9

Píšu to lajcky, ale snad jsem tomu dobře porozumněl.
------
Když budu volat všechny firmy z kategorie 5:

Select idfirmy from kategorie_firmy where idkategorie=5...

a když budu hledat všechny kategorie, ve kterých se firma nachází

Select idkategorie from kategorie_firmy where idfirmy=idf z první tabulky




LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Checkbox a insert do databáze a následné zobrazení uložených dat
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2013-05-25, 22:47

Presne tak, volá sa to relácia N:M [http://www.linuxsoft.cz/article.php?id_article=854]

Re: Checkbox a insert do databáze a následné zobrazení uložených dat
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2013-05-25, 22:57

Mockrát děkuji za radu

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.