Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: System ogłoszeń
Forum PHP.pl > Forum > Bazy danych > MySQL
free
Chce stworzyc swoj pierwszy system ogłoszen oparty o php i SQL.

Stworzyłem na kartce projekt bazy danych:

Table_ogloszenie
-id_ogloszenia
-tytul
-tresc
-data
-id_usera

Table_users
-id_usera
-login
-haslo
-ip_usera

Table_statystyka
+mysle nad dodaniem statystyki systemu ogloszen, nie wiem jakich pól tu uzyc.

to moje wstepne przemyslenia.
chce by baza byla relacyjna z mozliwoscia wielu zlozonych zapytan SQL.
system docelowo bedzie posiadal panel administreacyjny.

Prosze o opinie i porady dotyczace tego projektu, bym juz na wstepie wyeliminowal bledy.
maverickkk
W tabeli 'Table_users' masz ip_usera. Po cio ci IP uera które i tak się zmienia gdy ktoś kożysta z neta w szkole, w pracy w domu i ma neostrade itd.

"mysle nad dodaniem statystyki systemu ogloszen, nie wiem jakich pól tu uzyc"
-mógłbyś dodać kolumne 'liczba_czytań' typu INT i po każdym czytaniu ogłoszenia to pole zwiększać w 'Table_ogloszenie'.
- mógłbyś dodać kolumne 'kategoria' dla różnych ogłoszeń a potem sumować ile ogłoszeń i w jakiej kategorji się zanajduje w 'Table_ogloszenie'.

troche nie doczytałem smile.gif

chcesz tabele stworzyć 'Table_statystyka' dla statystyk ?

jeśli tak to statystyki się da obliczyć z dwóch wcześniejszych tabel, chyba że chcesz statystyki odwiedziń zrobić dla całej strony to 'Table_statystyka' sie może przydać.
free
O widzisz nie dopisalem KATEGORII w tabeli ogloszenia.
wiec wyglada ona juz tak:
Table_ogloszenie
-id_ogloszenia
-kategoria
-tytul
-tresc
-data
-id_usera

Jezeli chodzi o statystyke. To zmienne IP tez jest potrzebne do analizy, bym wiedzial jacy uzytkownicy korzystaja z tego samego IP /przydtane przy namierzaniu napinaczy/

Rzeczywiscie liczba czytan takze dobry pomysl, tylko ze przewaznie ogloszenia beda krótkie i wyswietlane po kilka-kilkanasie na stronie. Wiec nei wchodzi w gre.

Prosze o dalsze porady.
Zastanawiam sie czy w obecenej postaci baza jest w pełni relacyjna, bym mogł łączyc zawartosc table pooprzez podzapytania.
maverickkk
Wygląda na to że najbardziej niezbędne pola już masz. Mi nic więcej do głowy nie przychodzi.

Jak będziesz pisał to zrób sobie ze ogłoszenia znikają np. po 2 tygodniach a to obliczysz z daty dodania.

Pozdro.
free
Nie zagłebiałem sie jeszcze w SQL.
Zakladam ze -id_usera bedzie moim primary key. Ale jak dodac dane -id_usera do 2 tabel tj. table_ogloszenie i table_users ?
maverickkk
No do Table_users dane zostaną dodane przy rejestracji urzytkownika.

a żeby mógl on dodać ogłoszenie bedzie się musiał zalogować stąd id_usera dla tabeli Table_ogloszenie
free
No tak ale po zalogowaniu usera jak jego dane znajda sie w tabeli ogloszenia ?
Poza tym kombinuje by niektore ogloszenia byly dostepne bez logowania.
lunlog
Ok stworzylem maly projekt, nie patrzac za bardzo na inne ktore są powyżej...

Z założenia masz 2 tabele...uzytkownicy oraz ogloszenia i to powinno wystarczyc.

Mam nadzieje ze moj projekt przyda ci sie biggrin.gif i że nie zawiera nazbyt duzo błędów merytorycznych tongue.gif

Tabelka uzytkownicy

tab_users

id_user [INT] [UNSIGNED] [AUTO-INCREMENT] [PRIMARY]
login [VARCHAR] [16]
pass [VARCHAR] [16] + md5()
ip_user1 CHAR [15]
ip_user2
ip_user3 (ostatnie 3 rozne IP z ktorych laczyl sie user)
e_mail [VARCHAR] [40]

phone (telefon+inne dane namiarowe jesli to są tradycyjne ogłoszenia)
street [VARCHAR] [40]
city [VARCHAR] [40]
postal [VARCHAR] [6]
name [VARCHAR] [12]
surname [VARCHAR] [40]

custom_message [VARCHAR] [256]

Tabelka ogloszenia

tab_ad

ad_id [INT] [UNSIGNED] [AUTO-INCREMENT] [PRIMARY]
ad_title [VARCHAR] [60]
ad_data [VARCHAR] [255]
ad_kat <-kategoria ogloszenia //mozesz zdefiniowac stale kategorie... patrz allegro. rowniez korzystajac w pol wyboru... pozniej wyswietlac wszystkie ogloszenia tytulami jako linki gdzie ad_kat = jakaś konkretna kategoria.
ad_postedby <- tutaj wstawiasz id usera ktory pisze ogloszenie
sub_date <- data stworzenia ogloszenia
time <- mozesz okreslic jak dlugo ogloszenie ma byc wyswietlane... tydzien-dwa-trzy-miesiac... pole wyboru.
free
Ok zastanowie sie nad ta propozycja, pozmieniam tylko nazw na polskie.
Poza tym chce by te tabele byly powiazane ze soba relacyjnie.
Chyba jeden do wielu tu pasuje ? Tzn 1 user do wielu ogloszen.

Nie wiem czy dobrze zrozumiałem :
Cytat
ad_postedby <- tutaj wstawiasz id usera ktory pisze ogloszenie
Czyli to byla by relacja z id_user ?
maverickkk
"Poza tym chce by te tabele byly powiazane ze soba relacyjnie.
Chyba jeden do wielu tu pasuje ? Tzn 1 user do wielu ogloszen."

No a jak jest teraz? 1-1 czy wiele-wiele czy 1-wiele ?

"Czyli to byla by relacja z id_user ?"

Tak.
free
Cytat(lunlog @ 2006-04-19 23:12:17)
time <- mozesz okreslic jak dlugo ogloszenie ma byc wyswietlane... tydzien-dwa-trzy-miesiac... pole wyboru.

Jak by wygladalo wyswietlenie ogloszen przy założeniu, iz jest owe pole wyboru :
- dzień
- miesiąc
- 3 miesiace ?

Wiadomo :

Select ..... bleble... where time i własnie co dalej ?

I jeszcze jedno pytanie - czy da sie automatycznie usuwac dane z bazy starsze niz np ustawiane miesiac ? Czy trzeba to robic za kazdym razem recznie w panelu adminstratora ?
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-2019 Invision Power Services, Inc.