![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 16.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Dla osób zaawansowanych jest to zapewne proste, więc będę ogromnie wdzięczny za udzieloną pomoc (dla osoby, która pomoże najwięcej razy z przyjemnością ufunduję 2 tygodnie darmowej reklamy na (póki co) nieaktywnym portalu CartoonCenter.pl który nawet niereklamowany osiągał dziennie 2000 UU z 9-10min średnią przebywania na stronie). To co chcę zrobić to system Ulubionych na CartoonCenter. Aby było łatwiej: CartoonCenter = CC System Ulubionych = fav Strona jest połączona z SMF poprzez plik SSI.php. Osoby zaznajomione z forum powinny chwytać o co chodzi, ale wiedza o tym nie jest niezbędna. Idea Systemu: Użytkownik CC wchodzi na daną stronę (np. artykuł, odcinek) i ma opcję kliknięcia w ikonkę "Dodaj do Ulubionych". Jest to tak naprawdę przycisk submit, który wysyła dane na stronę add_fav.php z bardzo prostymi danymi - curPageURL(); oraz curPageName(); które uzyskuję poprzez dodanie na początku strony paru linijek:
Następnie plik add_fav.php sprawdza czy tabela o nazwie user$user_id istnieje (gdzie $user_id = context['user']['id'] - to pobiera nazwę użytkownika z forum) - w moim przypadku wynik to user1 - jeśli tak, to przechodzi do następnego kroku, jeśli nie to takową tworzy (z kolumnami URL varchar(255) i PageTitle varchar(255)) i przechodzi dalej. Po sprawdzeniu/stworzeniu tabeli plik add_fav.php sprawdza czy link, który został wysłany poprzez submit form z hidden polem w którym znajduje się adres URL, już znajduje się w kolumnie URL i jeśli tak to zwraca użytkownikowi komunikat "Ta strona już jest w Twoich Ulubionych", jeśli nie to url dodaje. I tu mam pytanie. Czy dobrze myślę? Czy tworzenie osobnej tabeli w bazie danych dla każdego użytkownika który cokolwiek doda do ulubionych to dobry pomysł? Jestem gotów zasponsorować reklamę na 2-4 tygodnie na CartoonCenter.pl i we vlogach na YouTube. Pozdrawiam, Zdesperowany Wizjoner FlashSplash |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
10 000 użytkowników, 10 000 tabel? To zły pomysł. Dodaj po prostu kolejną kolumnę z identyfikatorem użytkownika.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 16.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czyli, że jeśli mam tabelę smfforum_members a w niej z 30 kolumn to dodać jeszcze jedną o nazwie np. 'ulubione' ?
ale jak wtedy dodawać, usuwać i wyświetlać poszczególne URL, które dany użytkownik dodał? Zakładając że po roku jeden użytkownik będzie mógł dodać co najmniej 150-200 adresów URL. I to w jednej komórce w jednej kolumnie? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 1 Dołączył: 28.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
tak, dodaj ową kolumnę "ulubione" dla tabeli dot. użytkowników
ulubione linki, ID artykułów, czy co tam chcesz dodawaj do kolumny ulubione w następujący sposób:
(gdzie ";" jakiś mądry separator). Nowe linki/id artykułów sprawdzasz i dodajesz za pomocą operacji na tablicach. Ten post edytował Narus 16.08.2010, 23:15:30 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@Narus: co to ma być?
Co do tematu: masz utworzyć osobną tabelę, która tworzy z tabelą użytkowników relację wiele-do-jednego, tj. wiele ulubionych jest przypisanych do jednego użytkownika (czy też na odwrót: jeden użytkownik ma przypisanych wiele ulubionych). Kod Użytkownik: id PK nazwa Ulubione: id PK użytkownik_id FK (Użytkownik.id) ON DELETE CASCADE url |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 16.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Co do tematu: masz utworzyć osobną tabelę, która tworzy z tabelą użytkowników relację wiele-do-jednego, tj. wiele ulubionych jest przypisanych do jednego użytkownika (czy też na odwrót: jeden użytkownik ma przypisanych wiele ulubionych). Kod Użytkownik: id PK nazwa Ulubione: id PK użytkownik_id FK (Użytkownik.id) ON DELETE CASCADE url Ok, jako że jestem totalnie zielony nie będziesz poirytowany jak powiem, że kumam, ale nie wszystko? ![]() Czyli, że byłbym w stanie usuwać pojedyncze url u danego użytkownika i wyświetlać je przy pomocy php? I tutaj muszę spytać: id PK = unikalne id czego? I poprosiłbym o wytłumaczenie tego: użytkownik_id FK (Użytkownik.id) ON DELETE CASCADE Poza tym to działa na tej zasadzie, że ja mam dane w postaci $context['user']['id'] co zwraca mi id użytkownika (np. ja = 1, ktośtam = 234) i będzie to z tym współpracowało? Jeśli tak, to lubię php. Pozdrawiam i dzięki za pomoc! ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1) PK - Primary Key - http://dev.mysql.com/doc/refman/5.1/en/create-table.html
2) FK - Foreign Key - http://dev.mysql.com/doc/refman/5.1/en/inn...onstraints.html 3) O relacjach: http://www.google.com/search?hl=en&cli...q=&gs_rfai= 4) Tak, zadziała to z PHP - bo nie ma ono to wiele do rzeczy |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 18:12 |