Problem mój polega na wprowadzeniu do kodu strony systemu oceniania zdjęć typu thumbs up/down. Generalnie chodzi mi o dośc popularny system oceny zdjęć, który można spotkać na stronach typu kwejk, demotywatory. Konkretnie chodzi o to, że nie bardzo mam pomysł na to jak ten system zgrać z pętlą, która przeszukuje bazę danych i wyświetla obrazki na stronie.

Posiadam bazę danych, która składa się m. in. z tabeli "shity", w której to mam m. in. kolumny: "id" oraz "lubi" (zapisuje ilość klinięć na +). Poniżej załaczam sposób w jaki wyświetlam obrazki na stronie.
  1. $zapytanie = mysql_query("SELECT * FROM shity WHERE lubi<='6' ORDER BY id DESC LIMIT $l1,$l2"); //wybiera tabelę i pobiera z niej dane dla obrazków z odpowiednią wartością "lubi"
  2.  
  3. if ($zapytanie) { //jeśli zapytanie można wykonać to...
  4. while ($shit = mysql_fetch_array($zapytanie)) { //robi pętlę i przypisuje wszystkie dane do zmiennej
  5. if($shit['typ']=='obrazek') {
  6. if($ustawienia['img_title']) {
  7. echo '<div class="img_title"><a href="obrazek.php?'.$shit['id'].'">'.$shit['tytul'].'</a></div>';
  8. }
  9. echo '<div class="shit"><a href="obrazek.php?'.$shit['id'].'"><img src="'.$shit['obrazek'].'" alt="'.$shit['tytul'].'" title="'.$shit['tytul'].'"/></a>
  10. <div>
  11.  
  12. //ponizej część kodu, która odpowiada za wyświetlanie "kciuków" do głosowania i wyświetlna ilość "lubi" z bazy danych
  13.  
  14. <a href="#" id="gora"><img src="img/ok.gif" id="gora" /></a>';
  15.  
  16. print '<span id="ile"> '.($shit['lubi']).'</span> ';
  17.  
  18. echo '<a href="#" id="dol"><img src="img/bad.gif" /></a>
  19.  
  20. </div>
  21. </div>'; }


Na stronie http://devplugin.pl/aktualnosci/jqueryajax...em-oceny-tresci znalazłem prosty system oceniania typu +/-. Stąd też próbuję iść tą ścieżką... mam kolejny kod (nazwijmy go dalej glos.php), który modyfikuje liczbę głosów "lubi" w bazie danych:

  1. <?php
  2. mysql_connect ("...","...","..."); //łącze z bazą [serwer bazy,użytkownik,hasło]
  3. mysql_select_db ("..."); //nazwa bazy
  4.  
  5. $increase = "UPDATE shity SET lubie=lubie+1 WHERE id='$shit['id']'";
  6. $decrease = "UPDATE shity SET lubie=lubie-1 WHERE id='$shit['id']'";
  7. $active_rate = mysql_query("SELECT * FROM shity WHERE id='$shit['id']'");
  8. $how = 0;
  9. if($rt = mysql_fetch_assoc($active_rate)) {
  10. $how = $rt['lubi'];
  11. }
  12. if($_POST['akcja'] == 'dodaj') {
  13. mysql_query($increase);
  14. print $how++;
  15. } elseif($_POST['akcja'] == 'odejmij') {
  16. mysql_query($decrease);
  17. print $how--;
  18. }
  19. ?>


oraz dołączony, zgodnie z instrukcją na wyżej wymienionej stronie kod:
  1. $(document).ready(FUNCTION() {
  2. $("#gora").unbind().bind("click", FUNCTION() {
  3. $.ajax({
  4. type: 'POST',
  5. url: 'glos.php',
  6. DATA: 'akcja=dodaj',
  7. success: FUNCTION(wynik) {
  8. $("#ile").html(wynik)
  9. }
  10. });
  11. RETURN false;
  12. });
  13. $("#dol").unbind().bind("click", FUNCTION() {
  14. $.ajax({
  15. type: 'POST',
  16. url: 'glos.php',
  17. DATA: 'akcja=odejmij',
  18. success: FUNCTION(wynik) {
  19. $("#ile").html(wynik)
  20. }
  21. });
  22. });
  23. RETURN false;
  24. });


Problem polega na tym, że to wszystko nie działa tak jak powinno :] A konkretnie: jak w pliku glos.php zadać w zmiennej $increase i $decrease wartość "id" tak aby kliknięcie konkretnego kciuka pod przypisanym mu obrazkiem odnosiło się do tego właśnie obrazka (czyli do jego id czy nazwy...)questionmark.gif Może istnieje możliwość przypisania id obrazkowi kciuka w który klika użytkownik dająć +, a następnie pobrać to id w skrypcie glos.php? Może osobna tabela w bazie danych do ocen? A może jest inny sposób na stworzenie tego systemu oceniania?

Z góry dziękuję za wszelkie uwagi i sygestie.