x-kom hosting

Ranking

lukasz06
utworzono
utworzono

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
komentarz

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
komentarz
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*/

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
komentarz

Musisz podać jakoś Id (takie jak w bazie) jaki rekord chcesz aktualizować.

Najlepiej przez GETa.

grucha
komentarz
komentarz (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.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.