Ako na novinky v php

24.06.2001 14:28 | blackhole

rcite ste si uz na mnohych serverochvsimli tzv. news, novinky ktore sa zobrazuju na boku pripadne uplne hore atd. a pravev tomto clanku si vysvetlime a spravime skripty,ktore nam vytvoria newsovy system. Aby bol newsovy system uspesny a hlavne pouzitelny,potrebujeme si sprijemnit vkladanie,mazanie a citanie newsov. Nato si najskor vytvorime tabulku v nejakej databaze.ja doporucujem mySQL. cize:create table news (id int(255) NOT NULL AUTO_INCREMENT PRIMARY KEY,nadpis varchar(50),popis varchar(255),cas int,datum varchar(20));ako mozete vidiet, nase novinky sa budu skladatz nadpisu a kratkeho popisu. ten cas v tabulke jenato, aby sme ich mohli neskor zoradit.ten datum, je tam kvoli vypisovaniu datumukedy boli novinky pridane :)najskor si vytvorime skript addnews.php, pomocou ktoreho budemenovinky pridavat. myslim si, ze sa to da pochopitaj zo zdrojaka+komentovania.<form name=\"add\" action=\"?b=addnew\" method=post>NADPIS <input name=\"nadpis\" type=\"text\" size=\"32\" maxlength=\"100\" ></input>Popis <TEXTAREA name=\"popis\" rows=10 cols=40></TEXTAREA><input type=\"submit\" value=\"ODOSLI\"></input></form> //formular na pridavanie noviniek, //myslim, ze uz si ho dokazete//nalezite graficky dorobit :)takze teraz nasleduje skript, ktory je v rovnakom fileako ten formular //vid parametre <form><? //formatovanie a zapis spravy do db news//ak boli zadane vsetky udaje, tak:if (($nadpis != \"\") OR ($popis !=\"\")) { //vlozenie do databazy$cas = Time(); //ziskanie casu$datum=getdate(); //ziskanie datumu//sformatovanie datumu$fdatum=$datum[\"hours\"].\":\".$datum[\"minutes\"].\" - \".$datum['mday'].\".\".$datum['mon'].\".\".$datum['year'];//vlozenie do db@$vklad = MySQL_query(\"insert into news values ('','$nadpis','$popis','$cas','$fdatum')\");}//ak neboli zadane vsetky udaje, tak sa nic neurobielse {exit ();}?>takze vkladanie do databazy by sme uz maliteraz este spravit skript, ktorynam to vsetko vypise. v poradi podla vlozenia.cize najnovsie budu prve.ten si pomenujeme news.php//vyber z databazy$vypis = mysql_query(\"select nadpis,popis,cas,datum from news ORDER BY cas DESC \");//bude vypisovat vsetky udaje z dbwhile ($pole = mysql_fetch_row($vypis)){//teraz si to trochu upravime, aby//to nejako vyzeralo//mozete si to potom zmenitecho \"<br><b><font color=#7A89C0 size=3>\\\"$pole[0]\\\"</b> <i>pridane:</i> $pole[3]<br><i></font> <font color=#FFFFFF size=2></i><br>$pole[1]<br></font>\";} pre tych, co maju nahodou nejaky problems poliami. tak v tomto pripade$pole[0] = nadpis,$pole[1] = popis,$pole[3] = datum,$pole[2] = cas, ale ten vo vypisenikde nepotrebujeme. iba na porovnaniev mysql_query: order by CAS descto nam zoradi vsetko podla casu.cize kde bude cas najvecsi, tak to bude prve.ak by ste chceli vypisat iba prve tri novinky,tak staci do mysql_query dat LIMIT 3.teraz by to uz nemal byt ziaden problem.keby predsa, staci sa popytat na php boarde.mis0 truban