Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Kilka wartości w jednym polu
Forum PHP.pl > Forum > Przedszkole
-Phobos-
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
Saki
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 smile.gif
mmmmmmm
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
...
phpion
@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-
Dzięki!
A powiedz mi jeszcze, jak sprawdzić czy istnieją wartości w bazie dla dwóch pól jednocześnie?
Pawel_W
sprawdzić czy istnieje rekord WHERE id_usera = '...' AND id_linku = '...' ?
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.