Autor Zpráva
shanoy
Profil
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
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
no praveze clanky budu vo viacerych kategoriach.....ako by mala vyzerat ta prepojovacia? Dakujem
tiso
Profil
clanky-kategorie so stlpcami id_clanku a id_kategorie
shanoy
Profil
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
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
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
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.'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>'.$k_m eno.' ['.$k_pocet.']</strong></a></div>';
}
?>

Prosim vas mozte mi poradit? dakujem
tiso
Profil
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
$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
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
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
jj diky..

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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