Website članci iz baze podataka

poruka: 16
|
čitano: 4.051
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
12 godina
neaktivan
offline
Objavljivanje članaka iz baze podataka

Pozdrav :D

Zanima me kako napraviti dinamičan website za recimo, objavu vijesti/članaka na dnevnoj bazi. Trebalo bi biti jednostavno objavljivati članke i spremiti svaki članak trajno kako bi se mogao pristupiti online. Želio sam da na naslovnoj stranici bude prikazan link na najnoviji članak sa njegovim naslovom, slikom i kratkim sažetakom. Kada korisnik klikne na link tog članka, treba ga odvesti na stranicu članka.

 

Znam da je ovo što tražim složen posao i da je teško objasniti tako nešto potpunom laiku; Ali već sam prolistao neke tutoriale na netu i napravio sam nepotpuni html dizajn website-a da vdim kako bi se sve uklopilo, ali sam zapeo na skriptama. Dakle, shvatio sam princip HTML jezika i CSS.

Krenuo sam učit PHP, MySQL, SQL pa se zbunio između razlike dva pojma. Pa sam odlučio ostavit to i krenit na Microsoftov ASP. I sad očajno po netu tražim dobra objašnjenja kako napraviti stranicu tipa ovakve kakvu sam naveo. No nemogu naci pomoc na netu. Jedino što mogu je istraživati, a to bi potrajalo...

 

Sad nisam siguran dali sam sve tutoriale dobro pohvatao, ali koliko sam shvatio moram imati:

 

1. Bazu podataka u koju ću spremati članke, zajedno sa informacijama koje opisuju svaki članak, poput vremena objave, autora, kategorije...

2. Skripte koje će "uzimati" članke iz baze podataka i lijepiti ih na webstranicu članka.

3. Web stranicu na kojoj su smještene skripte koje ispisuju određeni članak iz baze podataka u predviđena polja (naslov članka, vrijeme objave i sadržaj)

 

Stvarno mi nije jasno koji jezik da odaberem za server scripting, ali pretpostavljam da je PHP - MySQL popularnije rješenje, pa  sam mislio u tome napravit website; Zanima me što vi mislite, a posebno oni koji imaju iskustava sa takvim stvarima.

Pa odakle da krenem? Bio bih vam zahvalan kada bi mi objasnili sva tri koraka koja sam naveo (iznad).

Neznam kako napraviti bazu podataka (recimo MySQL). Zatim, kako da zadam skriptama (PHP) da objave članak iz baze podataka na website.

Pogledao sam web hosting usluge i Avalon mi se čini sasvim uredu. Dali netko možda ima iskustva s njima? Prihvaćaju (PHP - MySQL) i (ASP - MicrosoftSQL) verzije server side skriptanja.

Svaki savjet je dobrodošao.

Poruka je uređivana zadnji put sri 15.8.2012 4:39 (Chofilino).
 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Objavljivanje članaka iz baze podataka

Baza koja se koriosti za web je MySQL ne SQL, a onda se odlući za serverski jezik, PHP, ASP ili neki treći serverski jezik. za PHP ćeš vjerovatno lakše naći tutorijale i potrebnu literaturu. Što se tiće baze moraš dobro normalizirati bazu, a sam prikaz naćin prikaza ti ne ovisi o podacima koje pozivaš iz baze već kako ćeš to isprogramirati. Baza je ionako samo tablica u kojoj čuvaš podatke, sev ostalo je tvoje znanje programiranja.

 

Također trebaš paziti oko servera jer PHP su drugaćiji serverei od ASP servera i te tehnologije obično nedolaze u paketo pa ti biraj. Također ASP serveri su skuplji zbog cijene koju ti moraš platiti za korištenje te tehnologije dok je PHP free, a vrti se na llinuxu koji je isto free (php na windows serveru nije mi dao dobra iskustva). Također imaš za to već gotova riješenja u opensorce CMS sustavima tako da nemaš potrebe to pisat, samo bi za njih trebo znat dizajn napravit.

 

imaš workbanch na mySQL situ za skinut on će ti iz dijagrama napravit bazu, ima i drugih alata, al on je besplatan.

 

Što se tiće testiranja doma instaliraj si LAMP ak si na linuxu, XAMPP  ili WAMP za windowse za testiranje PHP-a i baze

12 godina
neaktivan
offline
Re: Objavljivanje članaka iz baze podataka

Hvala. na odgovoru.

Evo, upravo instaliram WAMP. Proučit ću cms tutoriale.  ;)

13 godina
neaktivan
offline
Website članci iz baze podataka

Prvo, govoriš li o klasičnom ASP-u ili ASP.NET-u? Veoma se razlikuju.

Drugo, moraš imati bazu podataka, na MySQL serveru ili SQL Serveru (koji je sinonim za MS SQL) ili Accessu ili SQLLite-u. Ako radiš PHP, savjet bi bio MySQL, ako radiš ASP ili ASP.NET onda SQL Server.

Dakle, da bi pohranio vijest moraš imati administratorski dio stranice u kojem ćeš pohranjivati vijesti. Dakako, da bi bilo šta radio moraš se povezati na bazu podataka, ako radiš PHP, na MySQL se vežeš preko, recimo, mysqlconnect('server', 'username', 'password')U ASP-u bi to išlo, recimo za Access, gdje se koristi JET,

Dim myConn
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open = ("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=putanja do baze;")

 

U ASP.NET-u možeš na sličan način se povezati na bazu podataka, dakle kreirati conekcioni string, kreirati SQLConnection objekt, podesiti mu conn string i otvoriti bazu, evo kroz C# kôd:

SqlConnection con = new SqlConnection();
con.ConnectionString=@"Data Source=server;Initial Catalog=baza;Integrated Security=True";
con.Open();

 

Ali, kod ASP.NET-a ti preporučujem da ideš sa ORM alatima, tj. maperima, koji će ti omogućiti da tabele promatraš kao klase, a članove ćelije kao atribute klasa. Takvi su LINQ 2 SQL ili Entity Framework. Ja kooristim potonji i super mi je. Tu imaš dva sloja BLL (Buissness Logic Layer) i DAL (Data Access Layer). U DAL-u napraviš model baze, a u BLL klasu u kojoj pišeš kôd. Konkretno za objavu vijesti, trenutno radim jedan portal, pa evo ti kôd:

 

    public void dodaj_vijest(string naslov, string podnaslov, string tekst, string putanja, int id)
    {
        Vijesti vijest = new Vijesti();
        vijest.Naslov = naslov;
        vijest.Podnaslov = podnaslov;
        vijest.Tekst = tekst;
        vijest.NaslovnaSlika = putanja;
        vijest.DatumIVrijemeKreiranja = DateTime.Now;
        vijest.Datum = DateTime.Now.Date;
        vijest.KorisnikID = id;
        context.Vijesti.AddObject(vijest);
        context.SaveChanges();
    }

Dakle barataš lakše.

 

Da bi u ASP-u ili PHP-u pohranio vijest, moraš se koristiti SQL izrazima, recimo, u ASP
"INSERT INTO Viejsti ('Naslov', 'Podnaslov', 'Tekst', 'Slika') VALUES ('"&_ naslov &_"'"&_"&_ podnaslov &_"'"&_ tekst &_"'"&_ slika"')

 

Kada si pohranio vijest, treba je isčitati.

U ASP.NET-u recimo staviš repeater ili neku drugu kontrolu, recimo datalist ili list view.

 

<asp:ListView ID="dlSveVijesti" runat="server">
        <ItemTemplate>
            <h2><a href='Vijesti_Tekst.aspx?id=<%# Eval("VijestID") %>&naslov=<%# Eval("Naslov") %>'><%# Eval("Naslov") %></a></h2><br />
            <h4><%# Eval("Podnaslov") %></h4><br />
            <hr style="width: 50%; float: left;" />
        </ItemTemplate>
</asp:ListView>

U item templateu definišeš kako će sve izgledati, sa <%# Eval("član klase/ćelija tabele")%> ispisuješ određene vrijednosti.

Korisnika klikom na naslov vijesti redirektujemo na stranicu na kojoj se prikazuju vijesti. Tako što prosljedimo parametar id vijesti. Koji na toj stranici zatražimo, preko Request objekta u ASP-u i ASP.NET-u. Dok u PHP-u $_SERVER varijablom.

 

Zatim popuniš određene djelove sranice podacima, naslov, teskt, podnaslov, slika itd... Ali viješću koja ima taj ID, ako znaš SQL to ćeš znati napraviti, dok u maperu, recimo EF-u, napišeš metodu za taj posao, koja će vratiti vijest po id-u i onda ispišeš vrijednosti te vijesti.

Kasnije možeš dodati komentare i slično, ali ovo bi bio neki osnovni sistem objave vijesti. Naravno, sve to središ CSS-om da liči na nešto, ovo je samo prikaz, nije bilo uljepšavanja.

Moj savjet - ASP.NET i SQL Server.

Pozdrav!

 
3 0 hvala 2
12 godina
neaktivan
offline
Re: Website članci iz baze podataka

royalhero hvala puno {#} pomoći će mi tvoj tekst. Samo bih volio da mi objasniš zašto baš savjetuješ ASP.NET i SQL server.

13 godina
neaktivan
offline
Re: Website članci iz baze podataka
Chofilino kaže...

royalhero hvala puno {#} pomoći će mi tvoj tekst. Samo bih volio da mi objasniš zašto baš savjetuješ ASP.NET i SQL server.

ASP.NET je dio .NET frameworka, njegovu logiku možeš kucati u C#-u i VB.NET-u, mada sam uspjevao i sa managed C++-om. Kompajlira se, znači nije interpreter kao PHP. Ako znaš C#, neće ti biti problem savladati ASP.NET, kao ni bilo šta drugo iz .NET-a. Vidio si iznad robusnost i mogućnosti ASP.NET Web Formi, ali ima ima još jedan način pisanja ASP.NET aplikacija - MVC. To je po meni zakon, za koji mjesec ću vjerovatno preći na MVC, tj. završiti za knjigom o MVC-u. WebForme su isto tako odlične, imaš hrpu kontrola puput ListView-a, koje su super, jer sve što trebaš je postaviti u code behindu, lvVijesti.DataSource=funkcija koja dobavlja podatke;  i lvVijesti.DataBind(); Zatim u markupu databind expressionsima definiraš gdje će se koji podatak prikazivati i to je to. .NET uvjek preporučam svima.
Zašto SQL Server, zato što ima najbolji Management Studio, ima Express verziju koja je besplatna, ali i više nego dovoljna za mnooooge potrebe. Samo se drži .NET-a.

12 godina
neaktivan
offline
Re: Website članci iz baze podataka

Ok, a što je administratorski dio stranice, kojeg si naveo u tekstu iznad.

"Dakle, da bi pohranio vijest moraš imati administratorski dio stranice u kojem ćeš pohranjivati vijesti."

Dali si mislio na pristup serveru putem FTP-a, ili je to nekakva skripta koja mi omogućava još lakši način updateanje baze podataka? Hvala.

13 godina
neaktivan
offline
Re: Website članci iz baze podataka

Ma to ti je stranica kao i ostale, samo na njoj imaš kontrole za unos vijesti.

14 godina
protjeran
offline
Website članci iz baze podataka

Okej, ne treba čovjeku govoriti o klasama, .Net framwork-u i slično kad ne zna ni što je to administratorski dio stranice.

 

Dakle što tebi treba jest (za sada) ovo i samo ovo:

 

http://www.w3schools.com/

 

Dakle počinješ od HTML preko browser do onog što želiš a to je server scripting. PHP će ti biti najbolja polazna točka jer je najrašireniji server-side jezik (oko 70% tržišta), besplatan je. K tome je MySQL besplatan, ili možeš koristiti slične inačice kao postgreSQL. Sve to na kraju ispada jeftinije ako se ide na zakup server-a.

 

Ali najprije i ništa bez toga, vidi ondaj gore link i započni učiti.

 

Još jedan link vezan uz tvoje želje:

 

http://hr.wikipedia.org/wiki/CMS

DerbyCon 2012
 
1 0 hvala 1
12 godina
neaktivan
offline
Re: Website članci iz baze podataka
Bypass kaže...

Okej, ne treba čovjeku govoriti o klasama, .Net framwork-u i slično kad ne zna ni što je to administratorski dio stranice.

 

Dakle što tebi treba jest (za sada) ovo i samo ovo:

 

http://www.w3schools.com/

 

Dakle počinješ od HTML preko browser do onog što želiš a to je server scripting. PHP će ti biti najbolja polazna točka jer je najrašireniji server-side jezik (oko 70% tržišta), besplatan je. K tome je MySQL besplatan, ili možeš koristiti slične inačice kao postgreSQL. Sve to na kraju ispada jeftinije ako se ide na zakup server-a.

 

Ali najprije i ništa bez toga, vidi ondaj gore link i započni učiti.

 

Još jedan link vezan uz tvoje želje:

 

http://hr.wikipedia.org/wiki/CMS

Znam za W3S na toj stranici sam i naučio HTML i CSS. Server scripting sam krenu učit pa sam odustao jer su mi se tutoriali činili preteški.nisu dovoljno objasnili pojedinosti i kako sve funkcionira u praksi, samo teoriju su nabacali, a ja neznam jel će to meni sve trebat... A valjd moram prvo teoriju svladat  {#}

13 godina
neaktivan
offline
Re: Website članci iz baze podataka

Bez knjige nema ništa. Knjigu u ruke i udri! Naravno ako želiš pravo zanje.

14 godina
neaktivan
offline
Re: Website članci iz baze podataka
royalhero kaže...
Chofilino kaže...

royalhero hvala puno {#} pomoći će mi tvoj tekst. Samo bih volio da mi objasniš zašto baš savjetuješ ASP.NET i SQL server.

ASP.NET je dio .NET frameworka, njegovu logiku možeš kucati u C#-u i VB.NET-u, mada sam uspjevao i sa managed C++-om. Kompajlira se, znači nije interpreter kao PHP. Ako znaš C#, neće ti biti problem savladati ASP.NET, kao ni bilo šta drugo iz .NET-a. Vidio si iznad robusnost i mogućnosti ASP.NET Web Formi, ali ima ima još jedan način pisanja ASP.NET aplikacija - MVC. To je po meni zakon, za koji mjesec ću vjerovatno preći na MVC, tj. završiti za knjigom o MVC-u. WebForme su isto tako odlične, imaš hrpu kontrola puput ListView-a, koje su super, jer sve što trebaš je postaviti u code behindu, lvVijesti.DataSource=funkcija koja dobavlja podatke;  i lvVijesti.DataBind(); Zatim u markupu databind expressionsima definiraš gdje će se koji podatak prikazivati i to je to. .NET uvjek preporučam svima.
Zašto SQL Server, zato što ima najbolji Management Studio, ima Express verziju koja je besplatna, ali i više nego dovoljna za mnooooge potrebe. Samo se drži .NET-a.

MVC je naćin pisanja koda da se tako raditi u svakom objektnom jeziku nevezano bio to PHP, C#ili neki drugi objektni jezik, definitvno, ako se odlućiš za ASP dio C#. Takav naćin pisanja koda ima svoje prednosti, ali ako si poćetnik prvo svaladaj osnove kasnije se baci na MVC i ostale detalje.

13 godina
neaktivan
offline
Re: Website članci iz baze podataka
NoorMomento kaže...

Takav naćin pisanja koda ima svoje prednosti, ali ako si poćetnik prvo svaladaj osnove kasnije se baci na MVC i ostale detalje.

Samo sam čekao da neko ovo napiše. Ne, bolje je odmah ići na MVC, ne ukaljavti se WebFormama, ja sam krenuo sa WebFormama i sada učim MVC, vjerovatno ću se prebaciti. MVC je pattern, a što je naćin pisanja koda ja ne znam. WebForme te razmaze repeaterima, datalist, list view... Imaš to sve i na MVC-u kod ASPX/ASCX/MASTER engine-a. Ali kod Razor view engine-a nemaš.

12 godina
neaktivan
offline
Website članci iz baze podataka

Kada će se HTML5 u potpunosti implementirati i što mislite o izradi web stranice u HTML-u 5 sa osnovnim elementima koje većina browsera podržava, dok još nije u potpunosti imlpementiran. Radim to zbog mogućnosti određivanja <nav>,<article>, <section>, i ostalih caka koje olakšavaju search engineu obradu stranice koliko sam čuo. Zahvaljujem, dosad sam dobio dosta korisnih informacija {#}

 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Website članci iz baze podataka

Nece jos zadugo. Ali mozes ga polako pocinjati koristiti.

15 godina
odjavljen
offline
Website članci iz baze podataka

A uvijek možeš i napraviti scaffolding, u recimo RoR-u {#}, i fino izbjegneš pisanje koda za bazični CRUD.

 

Šalu na stranu, obrati pozornost na ono što ti je Bypass rekao, nauči dobro HTML/CSS, nauči kako web aplikacije funkcioniraju, na koji način se odvija interakcija s korisnikom, pa upoznaj JavaScript i onda zagrizi server side scripting. Što se tiče design patterna, gotovo svaki moderni framework podržava MVC, a i tu korisne stvari koje možeš sam implementirati, recimo helpers klase. Poanta frameworka i onoga o čemu ti Royalhero priča su koncepti don't-repeat-yourself i don't reinvent the wheel.

 

Za tebe kao početnika je najbolje da se ne opterećuješ s gore navedenim pojmovima, konvencijama i tehnikama/tehnologijama, OOP pristupu, klasama, atributima: Nauči kako web aplikacije funkcioniraju, i dok dođeš do točke gdje vidiš da se masa stvari ponavlja, da se da uvelike reducirati redudancija, da možeš odvojiti logiku od prikaza, onda zagrizi neki framework.

 

Sretno {#}

 
0 0 hvala 1
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice