Radionica programiranje 33.

Dobra večer. Ovdje Ivica Kartelo. Počnimo.
Potrebno predznanje Radionica1 i Opširnije objašnjenje - PHP prvi put
Potrebno predznanje Radionica 8 - Baza podataka prvi put
Naučite relacijske baze podataka po mojoj knjizi Access 2000, koju možete skinuti besplatno ovdje.
Ovdje radimo bazu Mariva iz knjige Access 2000, ali u PHP-MySQL verziji.

Upiti koje radimo se zasnivaju na:
- Skinite bazu podataka Mariva u MySQL verziji dump1_InnoDB.sql
- Import u phpMyAdmin ili kopi u SQL polje u phpMyAdmin i imat ćete bazu podataka mariva.mdb u verziji MySQL.

SQL upit: Zbroj svih iznosa racuna u tablici racuni u zadnjih 365 dana
=======================================================
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");
$sql = "SELECT Sum(iznos_racuna) as ukupno
             FROM racuni
             WHERE datum_placanja > NOW() - INTERVAL 365 DAY";
$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print $row["ukupno"];
}
?>

SQL upit: Zbroj svih iznosa racuna u tablici racuni u predzadnjih 365 dana
=======================================================
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");
$sql = "SELECT Sum(iznos_racuna) as ukupno
             FROM racuni
             WHERE datum_placanja < (NOW() - INTERVAL 365 DAY)
             AND   datum_placanja > (NOW() - INTERVAL 365*2 DAY)";
$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print $row["ukupno"];
}
?>

SQL upit: Cijene tečaja
======================================================
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");
$sql = "SELECT naziv_tecaja, CONCAT(FORMAT(cijena_obroka * broj_obroka, 2, 'de_DE'), ' kn') as cijena_tecaja
             FROM tecajevi";
$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print $row["naziv_tecaja"] . " " . $row["cijena_tecaja"] . "<br>";
}
?>

SQL upit: Cijena s 10% popusta
======================================================
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");
$sql = "SELECT
naziv_tecaja, CONCAT(FORMAT(cijena_obroka * broj_obroka, 2, 'de_DE'), ' kn') as cijena_tecaja, CONCAT(FORMAT(cijena_obroka * broj_obroka * 0.9, 2, 'de_DE'), ' kn') as niza_cijena_tecaja
        FROM tecajevi";
$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print $row["naziv_tecaja"] . " " . $row["cijena_tecaja"] . " " . $row["niza_cijena_tecaja"] . "<br>";
}
?>

SQL upit: Cijena s 10% popusta (načinom upit na upit)
===========================================================
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");

$sql = "SELECT naziv_tecaja, cijena_tecaja,
            CONCAT(FORMAT(cijena_tecaja*0.9, 2, 'de_DE'), ' kn') as cijenaspopustom
            FROM
            (SELECT naziv_tecaja,
            CONCAT(FORMAT(cijena_obroka * broj_obroka, 2, 'de_DE'), ' kn') as cijena_tecaja
            FROM tecajevi) as podupit";

$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print $row["naziv_tecaja"] . " | ";
print $row["cijena_tecaja"] . " | ";
print $row["cijenaspopustom"] . "<br>";
}
?>

Objašnjenje upita:

SELECT naziv_tecaja, cijena_tecaja,
            CONCAT(FORMAT(cijena_tecaja*0.9, 2, 'de_DE'), ' kn') as cijenaspopustom
            FROM
            (SELECT naziv_tecaja,
            CONCAT(FORMAT(cijena_obroka * broj_obroka, 2, 'de_DE'), ' kn') as cijena_tecaja
            FROM tecajevi) as podupit

glasi:

SELECT naziv_tecaja, cijena_tecaja,
            CONCAT(FORMAT(cijena_tecaja*0.9, 2, 'de_DE'), ' kn') as cijenaspopustom
            FROM
            (SQL upit Cijena tečaja) as podupit

Primjedbe