potreb
31.07.2011, 20:35:32
Witam. Mam pole view_count typu int.
Próbuje zaktualizować licznik, ale za każdym razem dodaje mi co 3 a nie co jeden, nie wiem za cholerę co jest nie tak. Już totalnie zgłupiałem. Moja zapytanie wygląda tak:
$a = $pdo->exec("UPDATE `news` SET `viewed`=`viewed`+1 WHERE `id` = '".$r[3]."'");
michaJlS
31.07.2011, 20:51:53
może trzy razy wywołujesz ten sam kod;]
Daimos
31.07.2011, 20:51:57
Widocznie zapytanie wywołujesz 3x, bo zbudowane jest dobrze
potreb
31.07.2011, 20:57:00
Wiem, gdybym wywoływał 3 razy to bym wiedział. Zresztą wyświetla mi wynik raz. Czy typ kolumny nie wpływa na dodawanie? Ja mam int.
Daimos
31.07.2011, 20:59:00
co z tego, że wynik wyświetla Ci raz? Cały skrypt może się wykonać kilka razy, pierwszy przykład takiego czegoś, jest kiedy przechwytujesz błędy 404 swoją aplikacją, a gdzieś taki występuje
potreb
1.08.2011, 09:01:17
Przechwytuje błędy 404, ale z tego co widzę nie zwraca mi żadnego. Zresztą jeżeli zwracałoby mi błąd to i tak nie powinno dodać, bo dodawanie nie jest w żaden sposób połączone z obsługą błędów 404. Jednak gdy dodaję wartość do sesji o tym że dodało to nie dodaje potrójnie, więc nie wiem jak odnaleźć błąd.
mat-bi
1.08.2011, 09:03:55
Popatrz, czy gdzieś nie masz np. while czy for, bo to jest awykonalne, żeby tym zapytaniem zwiększyć o 3 licznik.
nospor
1.08.2011, 09:07:33
$r[3]
To dlatego że tu masz 3. Kabyś miał 4 to by dodawało poczwórnie

A już tak bardziej poważnie:
$a = $pdo->exec("UPDATE `news` SET `viewed`=`viewed`+1 WHERE `id` = '".$r[3]."'");
file_put_contents('nospor.txt','A',FILE_APPEND);
Ile masz A w pliku po jednokrotnym odpaleniu skryptu? O ile ci się zwiększył licznik po tym samym odpaleniu skryptu?
potreb
1.08.2011, 09:22:16
Tak, mam potrójne A, ale nie wiem dlaczego mi wywala potrójnie, czy to może być przez autoloader? Mam w nim pętle, która sprawdza lokalizacje, w których mogą występować klasy.
nospor
1.08.2011, 09:26:54
Cytat
czy to może być przez autoloader? Mam w nim pętle, która sprawdza lokalizacje, w których mogą występować klasy.
Oczywiście. Może to być też spowodowane plamami na słoncu....

No a skąd mamy to wiedzieć nie widząc Twojego kodu, nie widząc jak ty to wszystko wywołujesz?
Albo podziel się z nami pełnym kodem, ale sprawdzaj linia po linii co gdzie i dlaczego się duplikuje.
potreb
1.08.2011, 09:38:29
Dziękuje, jednak moja głupota jest spowodowana przez plamy na słońcu

Teraz wiem, że przynajmniej jedno moje rozwiązanie było popierdzielone
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.