![]() |
![]() ![]() |
![]() |
--Phobos-- |
![]()
Post
#1
|
Goście ![]() |
Cześć,
Chcę każdemu odnośnikowi przypisać id usera, który go kliknął, tak, żeby potem uniknąć kliknięcia go drugi raz przez tę samą osobę. Myślałem, żeby w tabeli z odnośnikami zrobić kolumnę w której będę przechowywał id w taki sposób: Kod id3;id56;id81;...id17 Myślicie, że to dobry pomysł? Możecie podpowiedzieć, jak to zapisać i odczytać? Prosze o pomoc. Pozdrawiam Phobos |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 240 Pomógł: 2 Dołączył: 5.12.2010 Skąd: Fulda Ostrzeżenie: (0%) ![]() ![]() |
Do przechowywania wielu wartości świetnie nadaje się funkcja do tworzenia kilku wartości serialize i zapisywanie do bazy.
Później wyciągasz z bazy dane i używasz funkcji unserialize. I możesz pracować dalej z danymi ![]() Ten post edytował Saki 2.01.2013, 05:17:50 -------------------- Moje serwisy: services.itunix.eu | spytajsie.com
Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie jest to dobry. Bardzo ciężko wyszukuje się w takich strukturach, czy dany user już dany link odwiedził. Już nie wspomnę o ustawianiu klucza na czymś takim.
IDEALNA struktura to: tblLinks: id (autoincrement) PK address ... tblUsers: id (autoincrement) PK name ... tblClicks: id (autoincrement) - niekoniecznie link_id user_id ... |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
@Saki:
serialize w tym przypadku? No proszę Cię... @-Phobos-: Jedyne słuszne rozwiązanie to utworzenie tabeli: klikniecia [link_id, uzytkownik_id] Klucz główny stanowią obie kolumny jednocześnie. Teraz żeby uniemożliwić podwójne klikanie sprawdzasz czy w tabeli istnieje odpowiedni rekord. W momencie kliknięcia (jeśli rekordu nie ma) to go wstawiasz. Ot cała filozofia. |
|
|
--Phobos-- |
![]()
Post
#5
|
Goście ![]() |
Dzięki!
A powiedz mi jeszcze, jak sprawdzić czy istnieją wartości w bazie dla dwóch pól jednocześnie? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
sprawdzić czy istnieje rekord WHERE id_usera = '...' AND id_linku = '...' ?
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 03:09 |