Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jaka struktura bazy do skryptu artykułów ?
Forum PHP.pl > Forum > PHP
wiciu010
Skrypt napisany ma być w php i działać następująco:
1. w odpowiednie pole wpisywana treść, możliwość dodania za pomocą formularza zdjęcia lub za pomocą htmla-a
2. wyświetlenie artykułów na stronie

Jak powinna wyglądać baza danych mysql? Jakie pola bo nie mam pojęcia
michu2510
baza powinna wyglądać tak
| id | nazwa | temat | tresc | data |autor | inne|

inne to po ty jak by cos trzeba jeszcze to zrobisz explode i implode i kilka rzeczy zmiescisz
marcio
sorki ale chcesz zrobic cos jak nawet nie wiesz jak ma wygladac baza.To zalezy co chcesz tam miec ja bym zrobil takie
id
autor
nazwa
tresc
data
ip
To chyba wystarczy do najlatwiejszego systemu artow
O byles szybszy i zapomnialo mi sie o nazwie
wiciu010
A jakie typy tych pół ?
marcio
dla id mozesz dac int albo varchar
autor=char/varchar
nazwa=char/varchar
autor=char/varchar
tresc=char/varchar
data=varchar(dlugosc zalezna jak tworzysz date)
ip=varchar(dlugosc 16)
rolnix
@Up: sorry, ale...

id - int not null auto_increment
autor = int (jeśli jest tabela userów z id) luz nazwa autora jako varchar(40)
tytuł/nazwa = varchar(~120)
tresc = text/mediumtext
data = date
ip = int(4)

Marcio, jak chcesz zmieścić treść artykułu w varcharze? I kto widział, żeby datę i ip też w varcharach zapisywać, nie mówiąc już o id...

A IP to w końcu 4 liczby z przedziału 0..255, więc cztery bajty + skrypt konwertujący.
NoiseMc
Cytat
inne to po ty jak by cos trzeba jeszcze to zrobisz explode i implode i kilka rzeczy zmiescisz

Takie rzeczy sa sprzeczne z zasadami teorii baz danych i normalizacji .. inne parametry mozna ewentualnie trzymac w osobnej tabeli jako pary klucz -> wartosc.
To samo ze zdjeciami .. wyrzucic do innej tabeli dzieki czemu mozesz dodawac wiele zdjec do jednego artykulu

Mozesz ewentualnie pomyslec jeszcze o osobnej tabeli z kategoriami oraz dodatkowej na komentarze.

Co do typow, dla ID - int, dla krotkich ciagow (IP) - varchar, cala reszta na text.
wiciu010
Cytat(NoiseMc @ 8.11.2007, 01:17:21 ) *
To samo ze zdjeciami .. wyrzucic do innej tabeli dzieki czemu mozesz dodawac wiele zdjec do jednego artykulu
Mozesz ewentualnie pomyslec jeszcze o osobnej tabeli z kategoriami oraz dodatkowej na komentarze.


Mógłbyś podać jak powinna wyglądać tabela na komentarze i kolejna na zdjęcia oraz jak je powiązać z tabelą artykułów?
Mam tabele artykuł z polami takimi jak: id | tytul | tresc | autor | data i jak to powiązać?
exman
Baza mogla by wyglądać tak

tabela na zdjęcia to np:
  1. id_zdjecia int UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
  2. plik varchar(40) NOT NULL


możesz dodać inne pola (typ, katalog itp) ale to jako podstawa i założenie ze trzymasz zdjęcia w jednym katalogu powinno wystarczyć.

zakładając że jedno zdjęcie może być w wielu artykułach robisz tabelę:

artykul-zdjecia
  1. id_zdjecia int UNSIGNED nut NULL,
  2. id_artykulu int UNSIGNED nut NULL


tabela komentarze
  1. id_komentarza int UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
  2. id_artykulu int UNSIGNED NOT NULL,
  3. podpis varchar(30) NOT NULL,
  4. tresc text NOT NULL


Treść możesz ograniczyć do konkretnej liczny znaków (np varchar(300)) żeby ludziska nie wrzucali tam książek winksmiley.jpg
Oczywiście tabele możesz rozbudować jak tam będziesz chciał
NoiseMc
Moze lepiej byloby jeszcze uogolnic "zdjecia" na "pliki" i dodac kolumne z mime-type ... jakbys chcial sobie jeszcze dodac na przyklad pdf-a do artykulu.
marcio
Cytat(rolnix @ 8.11.2007, 00:44:49 ) *
@Up: sorry, ale...

id - int not null auto_increment
autor = int (jeśli jest tabela userów z id) luz nazwa autora jako varchar(40)
tytuł/nazwa = varchar(~120)
tresc = text/mediumtext
data = date
ip = int(4)

Marcio, jak chcesz zmieścić treść artykułu w varcharze? I kto widział, żeby datę i ip też w varcharach zapisywać, nie mówiąc już o id...

A IP to w końcu 4 liczby z przedziału 0..255, więc cztery bajty + skrypt konwertujący.

ja tak robie i nie jest to wskazane i wszystko dziala a co auto_increment to sam powinienen wiedziec gdzie to dac i ip tez mozna dac w varchar(16)
rolnix
@Up: a rób jak uważasz... dałem mu radę, która była - moim zdaniem - bardziej trafniejsza od twojej.
marcio
owszem jest trafniejsza lecz moja zla nie byla biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.