lukasz06 utworzono 25 maja 2009 utworzono 25 maja 2009 Witam robię ranking i mam pewien problem. zrobiłem tabelę 'ranking' w której są pola: 'id' 'dj' i 'punkty' kod strony z rankingiem: <table><tr><td width='120'> <center> DJ </center> </td><td width='50'> <center> Głosów </center> </td> <td width='50'> </td> </tr> <?</P> <P>$query = "SELECT dj, punkty FROM ranking ORDER by punkty DESC LIMIT 5 ";$result = mysql_query($query);</P> <P>while($row = mysql_fetch_array($result, MYSQL_ASSOC))</P> <P>{</P> <P>echo " <table></P> <P> </P> <P><tr><td width='120'> </P> <P> {$row['dj']} </td><td width='50'> <center> {$row['punkty']} </center> </td></P> <P><td width='50'> <center> <a href='add.php'>Głosuj</a> </td></P> <P></tr></P> <P></table>";} </P> ?> plik add.php <?php$host="xxx";$db_user="xxx";$db_password="xxx";$database="xxx";</P> <P>$connection = @mysql_connect($host, $db_user, $db_password) or die ('Brak poł?czenia z baz? MySQL');$db = @mysql_select_db($database, $connection) or die ('Nie mogę poł?czyć się z baz? danych');mysql_query("SET NAMES utf8;");?></P> <P><?phpmysql_query("UPDATE ranking SET punkty = punkty+1 ");</P> <P>echo " Głos został oddany ";</P> <P> </P> <P>?> Problem polega na tym, że gdy klikne na Głosuj to we wszystkich rekordach w polu 'punkty' zostaje dodany 1 punkt. Co muszę zmienić?
luq komentarz 25 maja 2009 komentarz 25 maja 2009 Musisz zmienić zapytanie aktualizujące UPDATE ranking SET punkty = punkty+1 dodać do niego prosty warunek UPDATE ranking SET punkty = punkty+1 WHERE id = /*tutaj zmienna z PHP odzwierciedlająca id Dj`a*/
lukasz06 komentarz 25 maja 2009 Autor komentarz 25 maja 2009 Musisz zmienić zapytanie aktualizująceUPDATE ranking SET punkty = punkty+1 dodać do niego prosty warunek UPDATE ranking SET punkty = punkty+1 WHERE id = /*tutaj zmienna z PHP odzwierciedlająca id Dj`a*/ Chodzi o id z bazy danych? Jeszcze może napisze, że ranking wygląda tak: DJ Punkty ------------------------- DJ1 3 Głosuj DJ2 2 Głosuj DJ3 1 Głosuj DJ4 1 Głosuj ..... ... ....... i bazie jest np 100 rekordów czyli ktore id mam tam podac?
luq komentarz 27 maja 2009 komentarz 27 maja 2009 Musisz podać jakoś Id (takie jak w bazie) jaki rekord chcesz aktualizować. Najlepiej przez GETa.
grucha komentarz 28 maja 2009 komentarz 28 maja 2009 (edytowane) Robisz na przykład tak: Link tam gdzie ma się głosować: <a href="jakis_plik.php?id=1">Głosuj na DJ 1</a> W kodzie SQL robisz tak jak podał luq czyli: $sql="UPDATE `ranking` SET `punkty` = punkty+1 WHERE `id`=".$_GET['id']; Oczywiście musisz połączyć się z bazą i oczywiście nie zapominamy o filtrowaniu danych Pozdro
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.