Vytvorenie kategórií v blogu

Programovacie jazyky, rady, poradňa...
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Vytvorenie kategórií v blogu

Príspevok od používateľa .:M4jco:. »

Zdravím

Robím jeden jednoduchý blog v php a mysql, kde má byť aj radenie článkov do kategórií avšak neviem ako to mám spraviť, a ba dokona ma ani moc nenapadá ako by to mohlo byť. Jediný spôsob akým ma to napadlo, je že každá kategória bude mať vlastné jedinečné id, a potom by sa to vypisovalo podla neho. A v administrácií by som si pri posielaní článku zvolil cez option sekciu do ktorej to má byť uložené, avšak na toto už som krátky :-( Pokiaľ by ma vedel niekto nakopnúť kuskom kódu, alebo na nete nejaký článok o tomto, bol by som velmi rád, lebo nič som nenašiel a nedarí sa mi to samému spraviť :twisted:

Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

veď si si presne popísal ako by to malo fungovať. Kúskom kodu ti to neukážeme, bolo by ho treba viac, ale zas také zložité to nie je. Klasicky si načítaš v administrácii do nejakého selectu všetky kategorie:

Kód: Vybrať všetko

echo "<select name='kategoria'>";
$result = mysql_query("select id,nazov from kategorie");
while($riadok=mysql_fetch_array($result)){
  echo "<otpion value='".$riadok['id']."'>".$riadok['nazov'];
  }
ehco "</select>";
a to bude spolu s ostatnými vecami (telo článku, nadpisy, menu a neviem čo všetko tam ešte edituješ) v jendom formulári. Potom po odoslaní si uložíš aj kategoriu nejak takto:

Kód: Vybrať všetko

$sql = "insert into clanky (text, nazov, ..... , kategoria) values ($text, $nazov, $_POST['kategoria'])"
Sú to len základné operácie s mysql a php
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Príspevok od používateľa .:M4jco:. »

Díky moc, už to mám a ide to :-) ale ešte jednu vec potrebujem, a to, že pokial kliknem napríklad v menu na "Blog" tak sa zobrazia len články ktoré sú uložené v kategórií "Blog" a žiadne iné...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

no tak si vybereš z db aké id má kategoria blog, a potom vybereš články ktoré majú takú kategoriu

Kód: Vybrať všetko

select * from clanky where kategoria=$idblogu
Ono sa ťažko takto radí, keď ani len netuším ako máš navrhnutú db.
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Príspevok od používateľa .:M4jco:. »

Databáza je navrhnutá následovne:

Sú dve tabulky s menami nodes a categories.

V nodes sa nachádzaju stlpce : Id, Dátum, Nadpis, Obsah, Kategoria
V categories su stlpce : Id, Meno

Hej, ten dotaz by aj vyhovoval, avšak ja som mal na mysli niečo na tento spôsob :
V menu mám rozne kategorie vypýsane z db, a na každú smeruje jedinečný odkaz, napríklad niečo takéto:
http://www.abcdefgh.abc/index.php?category=blog
A pokial na odkaz kliknem, tak sa vykoná akoby select článkov ktoré su v kategorií "Blog" a vypíšu sa....neviem ako to vysvetliť jednoduchšie, ale hádam ma pochopíte niekto :-/
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

not ak

Kód: Vybrať všetko

select n.*, c.* from nodes n, categories c where c.id=n.id and c.meno=$_GET['category']
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Príspevok od používateľa .:M4jco:. »

Hmm neviem, použil som to ale vyhadzuje mi to chybu
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

Bude to niečo s premennou "kategoria" pravdepodobne, ale čo, to už netuším :-( rozmýšlal som nad tým celý včerajší večer a na nič som neprišiel, tak tu priložím celý index čo mám
Prílohy
index.zip
(955 Bajtov) 23 stiahnutí
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Ak ti píše chybu v tom riadku so SELECT, tak skús zmeniť to $_GET['kategoria'] na {$_GET['kategoria']}
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Príspevok od používateľa .:M4jco:. »

Hmm, ked som to opravil tak sa nič nezobrazí. Akoby sa to ani nevykonalo...
Ale tomu kodu moc nerozumiem, a poprpsoil by som trochu ozrejmenie, možno mi to pomôže:

$query1 = "select n.*, c.* from nodz_nodes n, nodz_categories c where c.id=n.id and c.meno={$_GET['kategoria']}";

konkretne neviem čo znamená to n. , c. a c.id=n.id and c.meno={$_GET['kategoria']}";

dík
Napísať odpoveď