Autor | Zpráva | ||
---|---|---|---|
Gregi Profil * |
#1 · Zasláno: 7. 4. 2009, 14:29:22
Ahoj, potýkám se teď s menším "problémem". Resp. nevím jak je nejlepší postavit tabulky pro následné vyhledávání. Budu mít všechny kraje a danej obchod může být ve více krajích. Co je lepší. Mít tabulku a v ní:
id, popis, logo, praha, stredni, plzensky, karlovarsky. Nebo pro to mít tabulku: id, popis, logo A k ní kraje_zarazeni. A tam nějak asi takto: id, obchod_id, kraj_id. Ale potom nevim jak přesně by mělo být dělané vyhledávání. Díky za odpovědi. |
||
Tomáš K. Profil * |
#2 · Zasláno: 7. 4. 2009, 15:56:54
Pracuješ s kraji, obchody. Mezi tím je vztah 1:N - obchod je v 1 kraji, v kraji leží N obchodů. Toto se převádí na tabulky
kraj(id, nazev) obchod(id, kraj_id, adresa, logo, popis, ...) |
||
Tomáš K. Profil * |
#3 · Zasláno: 7. 4. 2009, 16:01:37
Nečtu pozorně - minulá varianta je pro situaci, kdy obchod je v jednom kraji - v tvém zadání říkáš, že obchod je ve více krajích. V tom případě je to jinak:
Vztah je N:N, což znamená tři tabulky: kraje(id, nazev) kraje_obchody(id, kraj_id, obchod_id) obchody(id, popis, logo) |
||
aa Profil * |
#4 · Zasláno: 7. 4. 2009, 20:12:02
|
||
Gregi Profil * |
#5 · Zasláno: 7. 4. 2009, 22:27:42
Dík. Ještě dotaz. Jak to udělat v administraci? Vkládání dělam následně:
$obchod_id=mysql_insert_id(); for($kraj=1;$kraj<=14;$kraj++){ if($_POST['kraj'][$kraj]!=""){ $vlastnosti_db[] = "('".$_POST['kraj'][$kraj]."', '$obchod_id')"; } } mysql_query("INSERT INTO obchod_firmy (kraj_id, obchod_id) VALUES ".implode(", ", $vlastnosti_db))) or die(mysql_error()); Ale jak to mám udělat při upravování? Je mi jasné že to budu projíždět přes foreach, ale nevim jak udělat výpis a následně jak správně udělat podmínky u foreach. Díky za pomoc |
||
Kajman_ Profil * |
#6 · Zasláno: 7. 4. 2009, 22:55:53
Např. stejný insert jen s ignore, který dá jen nové a díky klíči se budou ignorovat ty, co tam už jsou. A pak promazat ty, co tam nemají být...
delete ... where kraj=1 and obchod not in (seznamobchodu) |
||
Gregi Profil * |
#7 · Zasláno: 7. 4. 2009, 23:10:52
Úplně jsem tě nepochopil, ale je velká prasárna, když při editaci vymažu všechny řádky, který se týkaj danýho obchodu a následně tam znovu vložim jen ty, co jsou zaškrtnutý?
|
||
Kajman_ Profil * |
#8 · Zasláno: 7. 4. 2009, 23:20:48
Taky možnost :-)
|
||
Časová prodleva: 15 let
|
0