STĄD wziąłem skrypt głosowań. Bardzo elegancki (polecam!). Używam go już przy innych działach, ale dopiero teraz, gdy robię nowy - pojawił się błąd.
W pliku _drawrating.php jest sobie taki zapis:
<?php . . . $rater.='<li><a href="db.php?j='.$ncount.'&q='.$q.'&t='.$ip.'&c='.$units.'" title="'.$ncount.' out of '.$units.'" class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>'; . . . ?>
gdzie:
$j - to ocena (u mnie w skali 1-10)
$q - to (z założenia, bo o tym za moment) konkretne coś poddane głosowaniu/ocenianiu
$t - ip oceniającego
$c - jaka jest "skala" głosowań (maksymalna ilość gwiazdek, czyli u mnie 10)
I teraz tak. Nie mogę używać zmiennej $q (zbyt wiele plików się do niej odwołuje w globalach, a dodatkowo $q jest zabezpieczona w configu) więc postanowiłem ją po prostu zmienić. Byłoby fajnie, ale skrypt oryginalny "nie widzi" mojej zmiennej, więc dopisałem we wspomnianym pliku coś takiego:
<?php $query = "SELECT * FROM tabela"; $did = $r['id']; } ?>
No i oczywiście we wspomnianej linii (wycinek całego kodu) zrobiłem odpowiednią zmianę, czyli:
<?php $rater.='<li><a href="db.php?j='.$ncount.'&q='.$did.'&t='.$ip.'&c='.$units.'" title="'.$ncount.' out of '.$units.'" class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>'; ?>
Nietrudno się domyślić, że głosując na którekolwiek "coś" mojej did przybiera ZAWSZE wartość 286 (tyle bowiem mam WSZYSTKICH rekordów w tabeli tabela... No to więc zmieniłem zapytanie na :
<?php $query = "SELECT * FROM tabela LIMIT 1"; ?>
...wtedy did ZAWSZE przybiera wartość 1
Jak z tego wybrnąć?