Autor Zpráva
Tomast
Profil
Zdravím, mám dvě tabulky, jež jedna z nich obsahuje datum a k němu přiřazené označení užvaitelů oddělené např. čárkou a druhá obsahuje všechny údaje o uživatelých. Zde příklad (přibližný!):
1.tb:
|---datum----|---prvnisloupec---|---druhyslopec---|---tretisloupec---|
|2011-05-24|--abc,def,ghi,jkl---|---mno,pqr,stv,--|--uwx,yza,bsf---|
....

2.tb:
|--xid-|--Jmeno-|-Prijmeni-|-ostaniinfo-|...
|-abc-|-Karel----|-Novak---|--------------|...
|-pqr--|-Petr-----|-Novak---|--------------|...
....
Výsledek by byl takovýto: "Dne 2011-05-25 je pan Petr Novak zapsán v druhem sloupci."
Jak tedy tahat informace z 2.tb tak, abych zbytečně nezatěžoval databázi?
Budu tahat třeba 80 jmen a dnů bude třeba 10 (takže 800x se ptát DB, kdo je kdo, je podle mě náročné).
Budu rád za odkazy i nástřel PHPka.
Díky, Tom
Keeehi
Profil
Tomast:
2. tabulka je v pořádku, avšak první ne. Začni s tím, že ji předěláš (to znamená třeba rozdělení do více tabulek). Jelikož má tabulka příliš obecné popisky a data nemůžeme ti poradit se správným návrhem.
http://php.vrana.cz/srovnani-dotazu-do-zavislych-tabulek.php - 800x se ptát nebude dobře. Vytvoř nějaký komplexnější dotaz.
Tomast
Profil
Článek jsem si přečetl. Jedná se o to, že 1. tabulka je takový rozpis, v mém případě jídelníček. Jde o to, že si pan Jméno Příjmení zvolí, že chce 1. jídlo, tedy připíše se kliknutím do jednoho sloupce. Mám za sebou hodně jednoduchých tabulek, ale s tímhle opravdu potřebuji poradit.
Budu rád za návrh tabulky.
Děkuji, Tom
kajaman
Profil
uzivatele (
   id int not null auto_increment, 
   jmeno varchar(40),
   primary key(id)
)

jidelnicky (
   id int not null auto_increment, 
   datum date, 
   jidlo_a varchar(255), 
   jidlo_b varchar(255), 
   jidlo_c varchar(255),
   primary key(id)
)

objednavky (
   id int not null auto_increment, 
   uzivatel_id int not null, 
   jidelnicek_id int not null, 
   jidlo_a tinyint, 
   jidlo_b tinyint, 
   jidlo_c tinyint,
   primary key(id) 
)

$sql = "SELECT u.jmeno, o.jidlo_a, o.jidlo_b, o.jidlo_c
FROM uzivatele u JOIN objednavky o ON u.id = o.uzivatel_id JOIN jidelnicky j ON o.jidelnicek_id = j.id
WHERE j.datum = '$date'";
Tomast
Profil
No tak to je paráda, díky moc, tohle mě moc pomůže. Kdybych si nevěděl s něčím rady, tak se ozvu. Tom

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0