Strona 3 z 4

: 02 lutego 2016, 01:48
autor: koszal
@s@#€%&*! Dup@! Cy%&!

Co niby więcej powiedzieć..

: 02 lutego 2016, 08:51
autor: Suriel
Post nr 30 tlumaczy wszystko. Znów puknelismy licznik i kręcić go trzeba jak na warsztacie samochodowym ;)

: 02 lutego 2016, 09:07
autor: 8art
Moze ograniczenie ilosci ikonek do np "lubie", "nie lubie" ":)"stanowi rozwiazanie, bo nie bedzie ich tyle przyrastalo w takim tempie?

: 02 lutego 2016, 11:02
autor: Suriel
Szkidaby hylo steacic tyle ciekawych ocen z drugiej strony :(

: 02 lutego 2016, 11:54
autor: Kargan
A jaka tam jest ustawiona liczba ? Może walnąć jakiegoś maksymalnego INTEGER'a ? :)

: 02 lutego 2016, 18:06
autor: Treant
Tym razem oceny nie działają także dla starych postów (id<65536). Przyczyna problemu najprawdopodobniej więc leży w innym miejscu.

: 02 lutego 2016, 18:58
autor: Suriel
Cóż za łatwe problemy jest mniej pedeków, więc do dzieła Panowie. Ps. Miałem wesprzeć Was przemianą półboską ale mi nie wyszło, więc wspieram dobrym słowem.

: 02 lutego 2016, 19:37
autor: ghasta
Kolejny błąd w skrypcie.

<body>
Incorrect integer value: '' for column 'rating_id' at row 1<span style="color: #009900; font-size: 11px
;">Ocenione!</span></body>
</html>

Czegoj - skąd pochodzi ten plugin? Możesz mi podać adres, abym mógł do niego zajrzeć ?

: 03 lutego 2016, 09:08
autor: czegoj
@ghasta

http://www.php-fusion.pl/forum/viewthre ... d_id=34629
Kargan napisał(a):

A jaka tam jest ustawiona liczba ? Może walnąć jakiegoś maksymalnego INTEGER'a ? :)
bigint(5)

: 03 lutego 2016, 10:28
autor: ghasta
Zgodnie ze skryptem tworzącym tabelę dla pluginu mamy coś takiego:

Kod: Zaznacz cały

$inf_newtable&#91;1&#93; = DB_AFPR_RATINGS." &#40;
rating_id SMALLINT&#40;5&#41; UNSIGNED NOT NULL AUTO_INCREMENT,
post_id SMALLINT&#40;5&#41; UNSIGNED NOT NULL,
user_id SMALLINT&#40;5&#41; UNSIGNED NOT NULL,
rating_type TINYINT UNSIGNED NOT NULL,
PRIMARY KEY &#40;rating_id&#41;
&#41; ENGINE=MyISAM;";
Pole rating_id powinno być inkrementowane automatycznie.

Czegoj - nie wiem które pole zwiększyłeś ostatnio (post_id ??), ale problemem jest zapytanie:

$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (rating_id, post_id, user_id, rating_type) VALUES (tu przekręcił się licznik : -> '' <- , '".$post_id."', '".$userdata['user_id']."', '".$rating."')");
echo "<span style=&#92;"color: #009900; font-size: 11px;&#92;">".$locale['afpr_ajax_003']."</span>";

Musisz zrobić tak:
a) zapewne tym razem przekręcił się licznik dla pola rating_id (zresztą ktoś bezmyślnie założy, że tak mała wartość wystarczy jako index) i trzeba podnieść to pole do bigint

b) i zamiast cudzysłowu (zaznaczonego na niebiesko w strzałkach) wstaw wyraz DEFAULT -> znajdziesz tę linijkę w pliku
files&#92;infusions&#92;ajax_forum_post_ratings_panel&#92;includes&#92;rate.php linia 56

Powinno to wyglądać tak:

Kod: Zaznacz cały

$result = dbquery&#40;"INSERT INTO ".DB_AFPR_RATINGS." &#40;post_id, user_id, rating_type&#41; VALUES &#40;'".$post_id."', '".$userdata&#91;'user_id'&#93;."', '".$rating."'&#41;"&#41;;

lub tak (sprawdź które zadziała - dawno nie używałem mysql-a)

Kod: Zaznacz cały

$result = dbquery&#40;"INSERT INTO ".DB_AFPR_RATINGS." &#40;rating_id,post_id, user_id, rating_type&#41; VALUES &#40;DEFAULT, '".$post_id."', '".$userdata&#91;'user_id'&#93;."', '".$rating."'&#41;"&#41;;

: 03 lutego 2016, 20:59
autor: czegoj
ghasta ani jedna ani druga forma nic nie dały. Oczywiście wszelkie wartości w bazie w tym panelu zmieniłem na bigint, dalej gówno. Jeszcze jakieś pomysły?
Zamieszczam screena z ustawień bazy może to coś pomoże.

Nie mam pojęcia co się za tym wszystkim kryje, ale również możliwość dodawania obrazków przez użytkowników siadła. Wygląda to trochę tak jakby serwer nie przyjmował informacji w określonych sektorach. Może to jakieś uprawnienia do zapisu lub coś takiego?

: 03 lutego 2016, 21:52
autor: ghasta
W insercie nie zgadza się ilość kolumn:

<body>
Column count doesn't match value count at row 1<span style="color: #009900; font-size: 11px;">Ocenione!</span></body>

Jak teraz wygląda insert do bazy - Zmieniałeś plik rate.php? Wróć do jego starej wersji, czyli:

Kod: Zaznacz cały


		$result = dbquery&#40;"INSERT INTO ".DB_AFPR_RATINGS." &#40;rating_id, post_id, user_id, rating_type&#41; VALUES &#40;'', '".$post_id."', '".$userdata&#91;'user_id'&#93;."', '".$rating."'&#41;"&#41;;

p.s.
Nie ma to jak konrespondencyjne poprawianie błędów.

: 03 lutego 2016, 22:13
autor: czegoj
Ghasta nic nie rozumiem - pisz po ludzku a nie dla siebie. Wróciłem do ustawień rate.php bez Twoich modyfikacji. W phpmyadmin nic się nie zmieniło - wszystko jak w screenie.

Mogę jeszcze dodać, że ostatnia ocena dodała się w poście 70705.

: 03 lutego 2016, 23:24
autor: ghasta
Nie da się inaczej napisać :)


Wróciliśmy do starego problemu po przywróceniu pliku.

Incorrect integer value: '' for column 'rating_id' at row 1

Proponowałem dwa rozwiązania - jedno z wartością DEFAULT drugie bez
pola rating_id w insercie.

Więc spróbujmy jeszcze inaczej.

Zamień wspomnianą linijkę - zaznaczone na niebiesko zmieniasz - !! nie zapomnij o cudzysłowiu '' w ramach VALUES(

$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (rating_id, post_id, user_id, rating_type) VALUES ('', '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " );

1 opcja
wstawiasz czerwone ( - sprawdź czy działa po pierwszej, jeśli nie - sprawdź czy działa po drugiej i trzeciej - przy php wystarczy zwykłe odświeżenie strony)

$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (post_id, user_id, rating_type) VALUES (NULL, '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " ) ;

2 opcja


$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." ( post_id, user_id, rating_type) VALUES ( 0 , '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " );

3 opcja (teoretycznie najlepsza)


$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." ( post_id, user_id, rating_type) VALUES ( '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " );

Spójrz tu:
Incorrect integer value: '' for column 'id' at row 1

: 04 lutego 2016, 00:02
autor: czegoj
ghasta jesteś bogiem. Trzecia opcja skuteczna. Chyba to wreszcie zadziałało. Będę miał dla Ciebie jeszcze robótkę przy albumach, ale na razie chylę czoła.dwd;