webForumDet fria alternativet

Toplista

3 svar · 164 visningar · startad av F_I_C

F_I_CMedlem sedan jan. 200293 inlägg
#1

Har gjort ett script där man tippar hur det ska gå i matcherna. Rättningen görs omgång för omgång där det sparas hur många rätt man hade i den omgången.

Jag vill addera ihop antalet rätt för varje person_id och sen skapa en lista med de som har flest antal rätt.
Har kört fast och tänkte att kanske någon lyckas förstå mitt problem och hjälpa mig komma vidare.
Postade denna tråden i "fel" forum tidigare och gör ett försök här.
Kastar med en litet exempel på hur tabellen kan se ut ungefär.

omg |ratt | person_id
1 | 4 | 1
2 | 5 | 1
1 | 3 | 2
2 | 2 | 2
1 | 0 | 3
2 | 6 | 3

Vill alltså få ut person_id 1 som första plats med 9 rätt
person_id 3 på andra plats med 6 rätt osv...

LarsGMedlem sedan dec. 200012 465 inlägg
#2
select person_id, sum(ratt) as total
  from tips
 group by person_id
 order by total desc

Flyttas från Mysql

F_I_CMedlem sedan jan. 200293 inlägg
#3

Tackar tackar, det fungerar perfekt

$read = "select person, sum(ratt) as total from tipset_tips group by person order by total desc LIMIT 0,10";
$querys = mysql_query($read)or die("Det blev något fel vid läsningen från databasen");
while ($rad=mysql_fetch_array($querys)) {
$person=$rad["person"];

så gör jag för att plocka ut de 10 med flest rätt person id.
Kan dock inte få fram så jag kan skriva ut hur många rätt respektive användare har, borde inte vara svårt.

LarsGMedlem sedan dec. 200012 465 inlägg
#4

Nej, det är inte svårt.

$total = $rad["total"];
Genererad på 389 ms · cache AV · v20260730165559-full.f96bc7eb