Pomoć pri pisanju koda

Pozdrav,

ovako, trebao bih u PHPu napraviti ligašku tablicu (o nogometu je riječ). Dakle, svaka pobjeda je 3 boda, svaka neriješena utakmica 1 bod, poraz naravno ništa. Imam u mysql-u u tablici naziva “utakmice” rezultate utakmica, sa poljima “id_utakmice”, “ime_domacina”, “ime_gosta”, “golova_domacin”, “golova_gost”.

E sada, trebao bih za svaku od utakmica pobjedniku dodjeliti 3 boda, tako da bi u biti pri svakom učitavanju stranice php skripta izračunala na osnovu rezultata koliko koji tim ima bodova te gol razliku za slučaj da neke ekipe imaju isti broj bodova (omjer postignutih i primljenih pogodaka). Kako da natjeram PHP da to odradi, ili ima pametnijih načina za uraditi to? (npr možda ne raditi to sve u PHPu, već imati posebno i tablicu u mysqlu za bodove ili što ja znam što)

Pozz

Napravi tablicu: bodovi, sa poljima: id (AI, primary), bodovi (int, default 0), tim (int, ID tima)

I pri svakom unosu rezultata, automatski dodjeljuješ bodove:

  1. $domacin > $gost - 3 boda domacinu
  2. $gost < $domacin - 3 boda gostu
  3. $gost == $domacin - 1 bod gostu i domacinu

Čim registriraš tim, dodaj ih u tablicu bodovi

oftopik:
I unosi id_domacina i id_tima u tablicu utakmice, jer naprimjer ako tim promjeni ime, ostati će staro zapisano :smiley:

Da, i mislio sam da bi nešto takvo bilo najjednostavnije ali sam htio što manje resursa trošiti i što manje oslanjati se na mysql ako bih već mogao sve to odraditi pomoću PHPa.

Ma ima i više načina al ovo je najjednostavnije i najbolje :smiley:

Daj ako ti nije bed objasni pa da sve to odradim i sortiram on-the-fly sa PHPom jer bih da imam mysql što je moguće manji. :wink:

Ovako nešto :slight_smile:

[php]<?php

/**

  • ovo su podaci izvuceni iz baze
  • naravno ti ces ih izvuci preko mysql_fetch_array() :slight_smile:
    */
    $fetchedData[] = array(‘id_utakmice’ => ‘1’, ‘ime_domacina’ => ‘Dinamo’, ‘ime_gosta’ => ‘Real Madrid’, ‘golovi_domacin’ => ‘0’, ‘golovi_gost’ => ‘1’);
    $fetchedData[] = array(‘id_utakmice’ => ‘2’, ‘ime_domacina’ => ‘Barcelona’, ‘ime_gosta’ => ‘Mancherster United’, ‘golovi_domacin’ => ‘3’, ‘golovi_gost’ => ‘1’);

/**

  • prazan niz koji ce biti dopunjivan
    */
    $bodovi = array();

/**

  • postavljamo imena timova, svima 0 bodova
    */
    foreach ($fetchedData as $key => $team)
    {
    $bodovi[$team[‘ime_domacina’]] = 0;
    $bodovi[$team[‘ime_gosta’]] = 0;
    }

/**

  • azuriramo bodove
    */
    foreach ($fetchedData as $key => $match)
    {
    if ($match[‘golovi_domacin’] > $match[‘golovi_gost’])
    {
    $bodovi[$match[‘ime_domacina’]] += 3;
    }

    if ($match[‘golovi_domacin’] < $match[‘golovi_gost’])
    {
    $bodovi[$match[‘ime_gosta’]] += 3;
    }

    if ($match[‘golovi_domacin’] == $match[‘golovi_gost’])
    {
    $bodovi[$match[‘ime_domacina’]] += 1;
    $bodovi[$match[‘ime_gosta’]] += 1;
    }
    }

/**

  • sortiramo bodove
    */
    arsort($bodovi);

/**

  • ispis
    */
    echo ‘’;
    foreach ($bodovi as $key => $val)
    {
    echo ‘’;
    }
    echo ‘
    ’ . $key . ‘ ’ . $val . ‘
    ’;
    [/php]

Zahvaljujem. Čini se kao najidealnije riješenje!


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja