![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam kod, który wyświetla mi 2 losowe dane z bazy MySQL obok siebie. Tymi danymi są zdjęcia. Zdjęcie te to hiperłącze, więc po kliknięciu na któreś ze zdjęć przechodzi mi na tą samą stronę(odświeża ją) i automatycznie losuje mi inne dane.
Chcę, aby po kliknięciu na pierwsze zdjęcie dodawał się punkt do ogólnej liczby punktów w bazie danych, jednocześnie dodając punkt drugiemu zdjęciu, które nie zostało kliknięte. Oto przykład: Mam 2 użytkowników zapisanych w bazie danych (id,login,hasło,zdjecie[sciezka do niego],....).Oprócz tych wszystkich pól mam 2 dodatkowe pola: click i noclick. Klikam na pierwsze zdjęcie. Po tym do zmiennej $click(zmienna ta ma już swoja wartość np. 55) dodaje się 1 punkt (zdjęcie pierwsze użytkownika pierwszego po dodaniu ma przy zmiennej $click 56). Równocześnie dodaje się 1 punkt do zmiennej $noclick(zdjęcie drugie)-analogicznie jak przy zmiennej $click.Zaraz po dodaniu tych punktów losują sie 2 nowe zdjecia(hiperłącze). Wie ktoś jak to zrobić? Jeśli to za dużo, to może jakieś wskazówki. Nigdy nie edytowałem danych z bazy MySQL z poziomu PHP. Na pewno kod musi wyciągnąć aktualną wartość pola np. click, dodać punkt i zapisać zmiany. Myślałem jeszcze nad if'ami, ale nie wiem jak to zrobić. IF(użytkownik kliknie pierwsze zdjęcie) {$click+1 zdjecia pierwszego; $noclick+1 zdjecia drugiego;} else {$noclick+1 zdjecia pierwszego; $click+1 zdjecia drugiego;} No cos takiego wymyśliłem ,ale nie wiem jak to wyrazić poprawnie w jezyku php. A oto wcześniej wspomniany kod, który losuje mi te dane:
Ten post edytował ebate 3.11.2011, 16:28:46 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Na razie wyszedł mi kiepski kod:
I tak: *Dalej nie wiem co w if'ie wpisać. Słownie to brzmi: jeżeli(użytkownik kliknie nie pierwsze zdjecie) *mysql_querty w pierwszym {} zapisze (chyba) przy obydwu wylosowanych zdjęciach do dwóch pól po 1., Jeżeli zaś bedzie else to zrobi to samo.Wiec i pierwszy i drugi użytkownik będzie miał o punkt wiecej w dwóch tych polach. Myślałem żeby zrobić 2 kody, które by losowały po 1 danym, Czyli: Pierwsze:
Drugie:
czy nie byłoby łatwiej tego zrobić? Oczywiscie musiałbym zrobić, że jeżeli $wiersz=$wiersz1, to od razu nowe losowanie. ------------------------------------------------------------------------------------------------ Już mam prawie wszystko napisane, tylko w dalszym ciągu nie mam pojęcia, co wpisać w "if(...)".Tak jak mówiłem, w wolnym tłumaczeniu "if(użytkownik kliknie na pierwsze zdjęcie $wiersz['sciezka'])". Nie wie ktoś, jak to ująć w języku PHP? Oto mój kod:
Proszę, nie ma nikt pomysłu? Choćby cienia pomysłu? |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przedewszystkim, to w sesji musisz zapisać wylosowane rekordy. Przecież jak user kliknie w obrazek, to ty po przeładowaniu strony znowu losujesz i wylosowane rekordy są już inne niż z paczki dwóch co koleś klikał.
Po kliknieciu sprawdzasz w sesji, czy dany klik jest i jak jest to juz wszystko masz co chciałeś. Jednemu dajesz click a drugiem noclick |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
No nie będę ukrywał, że nic nie wiem o sesjach. Nie wiem, w który miejscu wstawić początek sesji session_start(); i jak zrobić, żeby w sesji kliknięcie na zdjęcie dodawało punkt. Oto aktualny kod
Coś sobie wydedukowałem w głowie, poprawcie jezeli zle myśle. Sesja to czas przebywania użytkownika na stronie, z poziomu php możemy sami określić jakie cześci kodu mogą tworzyć sesje. Zgodnie z tą myślą: jedna sesja to wylosowanie jednego zdjęcia wraz z kliknięciem w hiperłącze, druga sesja to wylosowanie drugiego zdjęcia z kliknięciem w hiperłącze. Mając to mogę zrobic if(sesja peirwsza sie zacznie i zakonczy){ dodaje punkt klick i no clik}else{odwrotnie dodanie punktów} |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:07 |