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 Развој сајта Ивица Лазаревић