Autor | Zpráva | ||
---|---|---|---|
shanoy Profil |
#1 · Zasláno: 19. 8. 2007, 16:16:31
Dobry den... Mam osobny RS, ale robim uplne novy. Ten stary bol taky poloautomat, teda ze sa tam dalo cez admina ukladat clanky, editovat ich a vymazavat. Clanky sa dali davat do predom vyrobenych kategorii. Predom vyrobenych hovorim preto, lebo vzdy som si tu novu kat. musel pridat do menu, vytvorit osobitny subor novakategoria.php a tam napisat kod aby sa zobrazovali clanky z tejto novej kategorii.
No to ma prestalo bavit a povedal som si ze musim naprogramoat nieco uplne ine, proste vytvorit taky RS, kde si budem moc vyrabat Kategorie, polozky v menu a tie aby sa aj nasledovne zobrazovali v menu, dalej by sa dalo pridavat bannery do menu, pisat clanky, tam by som mal navyber do ktorej kategorie alebo polozk v menu to chcem hodit, editovat clanky, vymazavat clanky.... Teraz prosim o pomoc... Prosim vas poradte ako mam zostavit tabulky. teda jednu tabulku, volala by sa clanky a tam by som spravil riadok kategoria alebo ako? zvlast tabulka kategorie a zvlast clanky?.. Dakujem za rady, popripade kto by chcel mi pomoc aj kodovo, teda psolupracovat tak ho rad uvitam dakujem |
||
tiso Profil |
#2 · Zasláno: 19. 8. 2007, 18:59:45
Pokiaľ článok bude len v jednej kategórii, tak 2 tabuľky: články a kategórie
Pokiaľ môže byť vo viacerých tak potrebuješ ešte prepojovaciu tabuľku medzi nimi... Bannery by sa riešili zvlášť, (ďalšia tabuľka, prípadne len "šablóna"...) |
||
shanoy Profil |
#3 · Zasláno: 19. 8. 2007, 21:26:37
no praveze clanky budu vo viacerych kategoriach.....ako by mala vyzerat ta prepojovacia? Dakujem
|
||
tiso Profil |
#4 · Zasláno: 19. 8. 2007, 21:32:39
clanky-kategorie so stlpcami id_clanku a id_kategorie
|
||
shanoy Profil |
#5 · Zasláno: 20. 8. 2007, 09:49:17
takze asi takto?:
CREATE TABLE clanky ( id_clanku int NOT NULL auto_increment, nadpis varchar(150), uvod text, text text, kategoria text, id_kategoria text, autor int, date int, hit INT NOT NULL, PRIMARY KEY (id) ); CREATE TABLE kategorie ( id_kategoria int NOT NULL auto_increment, id_clanku int, meno text, PRIMARY KEY (id) ); Ja by som ale potom potreboval aby sa mi v menu vypisovali tie kategorie a za nimi kolko je v kazdej kategorii clankov... |
||
Alphard Profil |
#6 · Zasláno: 20. 8. 2007, 09:58:36
no praveze clanky budu vo viacerych kategoriach
potřebuješ 3 tabulky co budeš dávat do kategoria text, v tabulce články, nebylo by to lepší v tabulce kategorie id_clanku int, v tabulce kategorie, jestli chceš sem ukládat id článků tak narazíš na problémy, vložíš 1 článek a co dál? http://www.linuxsoft.cz/article.php?id_article=854 |
||
Senyx Profil |
#7 · Zasláno: 20. 8. 2007, 09:59:14 · Upravil/a: Senyx
shanoy
předpokládám, že tiso měl na mysli toto řešení: CREATE TABLE clanky ( id_clanku int NOT NULL auto_increment, nadpis varchar(150), uvod text, text text, autor int, date int, hit INT NOT NULL, PRIMARY KEY (id) ); CREATE TABLE clanky-kategorie ( id_clanku int NOT NULL, id_ketegorie int NOT NULL, ); CREATE TABLE kategorie ( id_kategoria int NOT NULL auto_increment, meno text, PRIMARY KEY (id) ); potom můžeš mít jeden článek ve více kategoriích |
||
shanoy Profil |
#8 · Zasláno: 20. 8. 2007, 15:19:55
tak nakoniec som to spravil tak ze som spravil dve tabulky:
CREATE TABLE clanky ( id int NOT NULL auto_increment, nadpis varchar(150), uvod text, text text, kategoria text, autor int, date int, hit INT NOT NULL, PRIMARY KEY (id) ); CREATE TABLE kategorie ( id int NOT NULL auto_increment, meno text, url text, PRIMARY KEY (id) ); V administracnom rozhrani, dam pridat clanok, a tam dam do akej rubriky to ulozi..tu si budem moct vybrat z menu. menu bude generovane automaticky... spravim prikaz ktory bude vypisovat vsetky meno z tabulky kategorie.. No v menu na stranke bude Kategorie a pod nim budu vypisane vsetky kategorie (spravim prikaz aby vypisalo udaje z tabulky kategorie) no ja chcem este spravit to aby za kazdou kategoriou bolo vypisne aj pocet clankov, ale to uz musim ziskavat z druhej tabulky clanky.. Aby to fungovalo takto: b]KATEGORIE[[/b] Software [56] Hardware [12] Kod zatial vyzera takto .... <? $prikaz2 = mysql_query("SELECT * FROM kategorie ORDER BY ID DESC"); while ($zaznam2 = MySQL_Fetch_Array($prikaz2)){ $k_meno=$zaznam2["meno"]; $k_url=$zaznam2["url"]; $vysledek=mysql_query("select count(*) as pocet from clanky"); //neviem ci to je spravne $k_pocet=MySQL_num_Rows(Mysql_query($vysledok)); //neviem ci to je spravne, potrebujem poradit echo '<div class="polozkavm"><a href="index.php?page='.$k_url.'" title="'.$k_meno.'"> <strong>'.$k_m eno.' ['.$k_pocet.']</strong></a></div>'; } ?> Prosim vas mozte mi poradit? dakujem |
||
tiso Profil |
#9 · Zasláno: 20. 8. 2007, 15:30:04
shanoy - nemôžeme, pretože ignoruješ naše rady o tom že máš použiť 3 tabuľky. Návrh databázy má svoje pravidlá a pokiaľ ich budeš ignorovať tak je Ti každá ďalšia rada zbytočná. Doporučujem ti niečo si okolo návrhu databáz naštudovať...
|
||
Alphard Profil |
#10 · Zasláno: 20. 8. 2007, 15:31:34
$vysledek=mysql_query("select count(*) as pocet from clanky"); //neviem ci to je spravne
$k_pocet=MySQL_num_Rows(Mysql_query($vysledok)); //neviem ci to je spravne, potrebujem poradit 1. dotaz na databázi omez pomocí where, nebo to vrátí počet všech článků 2. count vrací číslo, jenom zpracuj sadu záznamů, např. mysql_result |
||
shanoy Profil |
#11 · Zasláno: 20. 8. 2007, 16:35:49
1. dotaz na databázi omez pomocí where, nebo to vrátí počet všech článků
jj.. ale ja potrebujem pocet clankov ktore maju v stlpci Kategoria, kategoriu ktosa sa prave vypisuje.. |
||
Alphard Profil |
#12 · Zasláno: 20. 8. 2007, 16:55:54
no právě, omez to na tu kategorii where kategoria = 'nejaka kategorie'
a znovu připomínám, pozor na návrch databázové struktury, v půlce projektu se to těžko předělává, např. kategoria text, podle mě není nejšťatnější, já bych tam dával číslo, ale když chceš řetězec, tak se zamysli, co tam chceš dávat, jestli není typ text zbytečně předimenzovaný a ber v úvahu, že se 2 tabulkami přižadíš 1 článek pouze do 1 kategorie |
||
shanoy Profil |
#13 · Zasláno: 21. 8. 2007, 07:37:55
jj diky..
|
||
Časová prodleva: 17 let
|
0