Postovani imam zadatak da napravim sistem nalik nekim portalima na kojima se prikazuju vesti.Tehnologije koje koristim su php i sql. Za sad sam uspeo da napravim admin panel,zasticen .htaccess fajlom i login formom i za njega koristim zasebnu tabelu u bazi.
Takodje je potrebno napraviti sistem za logovanje i registraciju korisnika ,jer ce samo ulogovani i registrovani korisnici moci da vide komentare i da pisu iste.
Tabela s korisnicima izgleda ovako:
user_id | int(11) AI PK |
username | varchar(45) |
password | varchar(255) |
f_name | varchar(45) |
l_name | varchar(45) |
varchar(255) | |
status | char(1) |
Takodje je potrebno prikazati vesti.
Tabela s vestima izgleda ovako.
id_vesti | int(11) AI PK |
naslov | varchar(100) |
uvod | varchar(1200) |
sadrzaj | text |
vreme_objave | datetime |
slika | varchar(200) |
Ja sam uspeo da napravim logiku za prikaz vesti,logovanje i registraciju.Ali ne znam kako da idem dalje s komentarima koji pretpostavljam trebaju biti na neki nacin povezani i s vestima i s odredjenim korisnikom koji postuje komentar.
Nisu mi najjasniji koncepti stranih kljuceva joinovanje tabela i nemam predstavu kako da krenem dalje...
Pomoc dobrodosla.
Pozdrav.
Marko
novski 15.06.2016 Одељци: Зид Питања и одговори novski | Кључне речи: blog vesti sistem za logovanje sql пхп
|
0
|
Структура базе:
create table korisnik( id int auto_increment primary key, username varchar(45) unique not null, password varchar(255) not null, f_name varchar(45), l_name varchar(45), email varchar(255) unique not null, status char(1) not null )engine=InnoDb; create table vest( id int auto_increment primary key, naslov varchar(100) not null, uvod varchar(1200), sadrzaj text, vreme_objave datetime not null, slika varchar(200), -- Ja bih dodao vezu sa korisnikom, kako bi se znalo ko je objavio vest korisnik_id int not null, constraint fk_korisnik_id_vest foreign key(korisnik_id) references korisnik(id) on delete restrict )engine=InnoDb; create table komentar( id int auto_increment primary key, korisnik_id int not null, vest_id int not null, tekst text not null, vreme datetime not null, constraint fk_korisnik_id_komentar foreign key(korisnik_id) references korisnik(id) on delete restrict, constraint fk_vest_id_komentar foreign key(vest_id) references vest(id) on delete cascade )engine=InnoDb;
Тест подаци:
insert into korisnik(username, password, f_name, l_name, email, status) values ('pera', '13456', 'Pera', 'Peric', '[email protected]', 'A'), ('mika', '67891', 'Mika', 'Mikic', '[email protected]', 'B'); insert into vest(uvod, naslov, sadrzaj, vreme_objave, korisnik_id) values ('Verovali ili ne...', 'Covek ujeo psa', 'Ustanem ja tako ujutru, a ono stomak me zavija...', '2015-12-12', 1); insert into komentar(korisnik_id, vest_id, tekst, vreme) values (1,1,'Koji sam ja meni kralj!', '2015-12-12'), (2,1,'Bravo Pero, nadmasio si samog sebe!', '2015-12-13');
Упит:
-- Lista komentara za vest.id=1 uredjena po vremenu select korisnik.username, komentar.tekst, komentar.vreme from komentar inner join korisnik on komentar.korisnik_id = korisnik.id where komentar.vest_id=1 order by komentar.vreme
За пример сам користио MySql пошто претпостављам да Вам то треба, међутим увек када могу да бирам ја користим PostgreSql.
На овој адреси можете експериментисати са базом: Фидл
Заинтересовани за часове програмирања могу ме контактирати путем мејла [email protected]
Ивица 17.06.2016 Одељци: Зид Питања и одговори Ивица | Кључне речи: sql Базе података mysql IT Akademija |
0
|
©Библиотека++ 2024 Развој сајта Ивица Лазаревић