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
|
©Библиотека++ 2025 Развој сајта Ивица Лазаревић