Potrzebuję dodać skrypt do głosowania na konkretny komentarz na zasadzie +/-.
Jako, że wypadałoby to robić bez przeładowania strony to zdecydowałam się skorzystać z gotowego - http://devplugin.pl/aktualnosci/jqueryajax...em-oceny-tresci
Idąc za tym tutorialem posiadam
w index.php, w sekcji HEAD:
w miejscu, w którym jest kod odpowiedzialny za wyświetlanie komentarzy:
echo'<p class="oceny_kom"> <a href="#" id="gora"><img src="images/kciuk_w_gore.png" width="14" height="14" id="gora" /></a> <span id="ile"> '.($rowq['ocena']).'</span> <a href="#" id="dol"><img src="images/kciuk_w_dol.png" width="14" height="14" id="dol" /></a> </p>';
w pliku nasze-skrypty.js:
$(document).ready(function() { $("#gora").unbind().bind("click", function() { $.ajax({ type: '$_SESSION', url: 'glos.php', data: 'ocena=dodaj', success: function(wynik) { $("#ile").html(wynik) } }); return false; }); $("#dol").unbind().bind("click", function() { $.ajax({ type: '$_SESSION', url: 'glos.php', data: 'ocena=odejmij', success: function(wynik) { $("#ile").html(wynik) } }); }); return false; });
w pliku glos.php :
include 'config.php'; //polaczenie z bazą $increase = "UPDATE komentarze SET ocena=".$rowq['ocena']."+1 WHERE id=".$rowq['id'].";"; $decrease = "UPDATE komentarze SET ocena=".$rowq['ocena']."-1 WHERE id=".$rowq['id'].";"; $how = 0; $how = $rt['ocena']; } if($_SESSION['ocena'] == 'dodaj') { //echo $increase; } elseif($_SESSION['ocena'] == 'odejmij') { //echo $decrease; }
Na bank gdzieś jest błąd. Tylko nie wiem gdzie.
Po kliknięciu na kciuk w górę - wykonuje akcje, ale nie dodaje głosów i pokazuje liczbę głosów=0. Po kliknięciu w dół - przeładowuje stronę...
Poprawiłam klikanie w "kciuk w dół" return false; było za wysoko. Ale nadal nie mogę znaleźć powodu, dla którego akcja się nie wykonuje...