przewiń do treści

PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych

Włodzimierz Gajda

function tabela()
{
    $sql = "
        SELECT
            k.klub_id as klub_id,
            k.liga_id as liga_id,
            SUM(
                (@remis := IF (m.gol1 = m.gol2, 1, 0)) +
                (@zwyciestwo :=
                    IF (
                        (m.gol1 > m.gol2 AND m.gospodarz = k.klub_id) OR
                        (m.gol1 < m.gol2 AND m.gosc = k.klub_id),
                        1,
                        0
                    )
                ) * 3
            ) as punkty,
            SUM(
                IF (m.gospodarz = k.klub_id OR m.gosc = k.klub_id, 1, 0)
            ) as mecze,
            SUM(@zwyciestwo) as zwyciestwa,
            SUM(@remis) as remisy,
            SUM(
                IF (
                    (m.gol1 < m.gol2 AND m.gospodarz = k.klub_id) OR
                    (m.gol1 > m.gol2 AND m.gosc = k.klub_id),
                    1,
                    0
                )
            ) as przegrane,
            SUM(
                IF (m.gospodarz = k.klub_id, m.gol1, m.gol2)
            ) as bramkizdobyte,
            SUM(
                IF (m.gospodarz = k.klub_id, m.gol2, m.gol1)
            ) as bramkistracone
        FROM
            klub as k,
            mecz as m
        WHERE
            k.klub_id = {$this->getKlubId()} AND
            (m.gospodarz = k.klub_id  OR m.gosc = k.klub_id)
    ";

    $connection = Propel::getConnection();
    $statement = $connection->prepare($sql);
    $statement->setFetchMode(PDO::FETCH_ASSOC);
    $statement->execute();
    $wynik = $statement->fetch();

    return $wynik;
}

Listing 20.2. Metoda tabela klasy Klub

Rozdział 20. Sortowanie tabel

listing-20-02.txt

Reklama

Szkolenia z Symfony 2.0