Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z dodawaniem +1 do losowego rekordu
Forum PHP.pl > Forum > PHP
mattonit
Witajcie!
Mam problem z dodaniem wartości +1 do losowo wybranego rekordu z bazy danych.
Skrypt ma pobrać dwa losowe rekordy z bazy danych po czym użytkownik ma wybrać, która opcja bardziej mu odpowiada poprzez kliknięcie na button.
Po kliknięciu na button skrypt powinien zwiększyć wartość w polu ilość o +1. Mój kod wygląda następująco:
  1. <?php
  2. $zapytanie = "SELECT * FROM ranking ORDER BY rand() LIMIT 2;";
  3. $wynik = mysql_query($zapytanie) or die(mysql_error());
  4. echo "<form method=\"POST\" action=\"./\">";
  5. while ($rekord = mysql_fetch_assoc($wynik)) {
  6. echo "<img src=\"".$rekord['link']. "\" /><br />";
  7. echo "<br /><input type=\"submit\" value=\"Głosuj!\"></td>";
  8. }
  9. echo "</form>";
  10. $id = $rekord['id'];
  11. if($_SERVER['REQUEST_METHOD'] == 'POST')
  12. {
  13. $zapytanie = mysql_query("UPDATE ranking SET ilosc=ilosc+1 WHERE id='$ktory'");
  14. $wynik = mysql_query($zapytanie);
  15. }
  16. ?>

W sprawach PHP jestem dopiero początkujący więc proszę o wyrozumiałość smile.gif
Jak na moje oko to skrypt nie wie, którą wartość zaktualizować ale nie mam pojęcia jak to zrobić więc bardzo proszę o pomoc smile.gif
toaspzoo
Chyba pomieszały Ci się zmienne

  1. $wynik = mysql_query("UPDATE ranking SET ilosc=ilosc+1 WHERE id='$id'");


i usuń:
  1. $wynik = mysql_query($zapytanie);
mattonit
mała pomyłka związana z tym, że próbowałem sam coś pokombinować smile.gif Mimo zmiany zasugerowanej przez Ciebie dalej nie działa
toaspzoo
Jedna uwaga
Cytat
  1. while ($rekord = mysql_fetch_assoc($wynik)) {
  2. echo "<img src=\"".$rekord['link']. "\" /><br />";
  3. echo "<br /><input type=\"submit\" value=\"Głosuj!\"></td>";
  4. }
  5. echo "</form>";
  6. $id = $rekord['id'];


Wybierasz 2 rekordy, a tylko id ostatniego zapisujesz...
mattonit
a masz moze pomysl na rozwiazanie mojego problemu? Jak wczesniej pisalem w PHP dopiero zaczynam
toaspzoo
Skrypt jest cały dziwnie napisany, zastanów się jak on w ogóle działa...
adamantd
Nie lepiej pobrać wszystkie id z tabeli i w śród nich wylosować 2 a potem już tylko w tych dwóch dodać +1 WHERE id=coś tam coś tam?
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.