Radionica programiranje 40. - MS Access Izvješće u Responsive Web Designu


Izvješće iz Accessa sam ovdje napravio pomoću PHP, HTML, CSS, MySQL. Izvješće: praćenje ukupnog prihoda po artiklima, kategorijama, ukupno po kategorijama i sveukupno.


SQL upit: Prihod 1993. - podloga za izvješće
========================================================

<?php
$link = mysqli_connect("localhost", "root", "", "mariva");

$sql = "SELECT DISTINCTROW strani_jezici.strani_jezik, tecajevi.naziv_tecaja, 
Sum(stavke_racuna.cijena_obroka*stavke_racuna.broj_obroka) 
AS prihod_po_tecaju
FROM racuni 
INNER JOIN ((strani_jezici 
INNER JOIN tecajevi 
ON strani_jezici.id_stranog_jezika = tecajevi.id_stranog_jezika) 
INNER JOIN stavke_racuna 
ON tecajevi.id_tecaja = stavke_racuna.id_tecaja) 
ON racuni.id_racuna = stavke_racuna.id_racuna
WHERE racuni.datum_placanja >= '1993-01-01 00:00:00' 
And racuni.datum_placanja <= '1993-12-31 00:00:00'
GROUP BY strani_jezici.strani_jezik, tecajevi.naziv_tecaja";

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

Upit za ukupno za sve tečajeve iz engleskog
===================================================
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");

$sql = "SELECT DISTINCTROW strani_jezici.strani_jezik, 
Sum(stavke_racuna.cijena_obroka*stavke_racuna.broj_obroka) 
AS prihod_po_stranom_jeziku
FROM racuni 
INNER JOIN ((strani_jezici 
INNER JOIN tecajevi 
ON strani_jezici.id_stranog_jezika = tecajevi.id_stranog_jezika) 
INNER JOIN stavke_racuna 
ON tecajevi.id_tecaja = stavke_racuna.id_tecaja) 
ON racuni.id_racuna = stavke_racuna.id_racuna
WHERE racuni.datum_placanja >= '1993-01-01 00:00:00' 
And racuni.datum_placanja <= '1993-12-31 00:00:00'
AND strani_jezik = 'engleski'
GROUP BY strani_jezici.strani_jezik";

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

Izvješće
====================================================


<!DOCTYPE html>
<html>
<head>
<title>Report Responsive Web Design</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="stil_izvjesce.css" type="text/css">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div class="container">

    <hr>
    <hr>
    <div class="grid12 naslov">Prihod u 1993.</div>
    <div class="grid12">17. ožujka 2018.</div>
    <hr>
    <hr>
    <div class="grid4">Strani jezik</div>
    <div class="grid6">Naziv tečaja</div>
    <div class="grid2">Prihod po tečaju</div>
    <hr>
    <hr>
    <div class="grid12 naslov">Engleski</div>
    <?php
$link = mysqli_connect("localhost", "root", "", "mariva");

$sql = "SELECT DISTINCTROW strani_jezici.strani_jezik, tecajevi.naziv_tecaja,
    CONCAT(FORMAT(Sum(stavke_racuna.cijena_obroka*stavke_racuna.broj_obroka), 2,'de_DE'), ' kn')
    AS prihod_po_tecaju
    FROM racuni
    INNER JOIN ((strani_jezici
    INNER JOIN tecajevi
    ON strani_jezici.id_stranog_jezika = tecajevi.id_stranog_jezika)
    INNER JOIN stavke_racuna
    ON tecajevi.id_tecaja = stavke_racuna.id_tecaja)
    ON racuni.id_racuna = stavke_racuna.id_racuna
    WHERE (racuni.datum_placanja >= '1993-01-01 00:00:00'
    AND racuni.datum_placanja <= '1993-12-31 00:00:00')
    AND strani_jezik = 'engleski'
    GROUP BY strani_jezici.strani_jezik, tecajevi.naziv_tecaja";

$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print "<div class='grid4 stranijezik'>";
print $row["strani_jezik"];
print "</div>";

print "<div class='grid6'>";
print $row["naziv_tecaja"];
print "</div>";

print "<div class='grid2 poravnanje'>";
print $row["prihod_po_tecaju"];
print "</div>";
}
?>
    <hr>
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");

$sql = "SELECT DISTINCTROW strani_jezici.strani_jezik,
    CONCAT(FORMAT(Sum(stavke_racuna.cijena_obroka*stavke_racuna.broj_obroka), 2,'de_DE'), ' kn')
    AS prihod_po_stranom_jeziku
    FROM racuni
    INNER JOIN ((strani_jezici
    INNER JOIN tecajevi
    ON strani_jezici.id_stranog_jezika = tecajevi.id_stranog_jezika)
    INNER JOIN stavke_racuna
    ON tecajevi.id_tecaja = stavke_racuna.id_tecaja)
    ON racuni.id_racuna = stavke_racuna.id_racuna
    WHERE racuni.datum_placanja >= '1993-01-01 00:00:00'
    And racuni.datum_placanja <= '1993-12-31 00:00:00'
    AND strani_jezik = 'engleski'
    GROUP BY strani_jezici.strani_jezik";
$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print "<div class='grid4 stranijezik'>Ukupno za</div>";
print "<div class='grid6 ukupno'>";
print $row["strani_jezik"] . " ukupno";
print "</div>";
print "<div class='grid2 poravnanje ukupno'>";
print $row["prihod_po_stranom_jeziku"];
print "</div>";
}
?>




    <hr>
    <div class="grid12 naslov">Njemački</div>


<?php
$link = mysqli_connect("localhost", "root", "", "mariva");

$sql = "SELECT DISTINCTROW strani_jezici.strani_jezik, tecajevi.naziv_tecaja,
    CONCAT(FORMAT(Sum(stavke_racuna.cijena_obroka*stavke_racuna.broj_obroka), 2,'de_DE'), ' kn')
    AS prihod_po_tecaju
    FROM racuni
    INNER JOIN ((strani_jezici
    INNER JOIN tecajevi
    ON strani_jezici.id_stranog_jezika = tecajevi.id_stranog_jezika)
    INNER JOIN stavke_racuna
    ON tecajevi.id_tecaja = stavke_racuna.id_tecaja)
    ON racuni.id_racuna = stavke_racuna.id_racuna
    WHERE (racuni.datum_placanja >= '1993-01-01 00:00:00'
    AND racuni.datum_placanja <= '1993-12-31 00:00:00')
    AND strani_jezik = 'njemacki'
    GROUP BY strani_jezici.strani_jezik, tecajevi.naziv_tecaja";



$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print "<div class='grid4 stranijezik'>";
print $row["strani_jezik"];
print "</div>";

print "<div class='grid6'>";
print $row["naziv_tecaja"];
print "</div>";

print "<div class='grid2 poravnanje'>";
print $row["prihod_po_tecaju"];
print "</div>";
}
?>

    <hr>
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");

$sql = "SELECT DISTINCTROW strani_jezici.strani_jezik,
    CONCAT(FORMAT(Sum(stavke_racuna.cijena_obroka*stavke_racuna.broj_obroka), 2,'de_DE'), ' kn')
    AS prihod_po_stranom_jeziku
    FROM racuni
    INNER JOIN ((strani_jezici
    INNER JOIN tecajevi
    ON strani_jezici.id_stranog_jezika = tecajevi.id_stranog_jezika)
    INNER JOIN stavke_racuna
    ON tecajevi.id_tecaja = stavke_racuna.id_tecaja)
    ON racuni.id_racuna = stavke_racuna.id_racuna
    WHERE racuni.datum_placanja >= '1993-01-01 00:00:00'
    And racuni.datum_placanja <= '1993-12-31 00:00:00'
    AND strani_jezik = 'njemacki'
    GROUP BY strani_jezici.strani_jezik";

$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print "<div class='grid4 stranijezik'>Ukupno za</div>";
print "<div class='grid6 ukupno'>";
print $row["strani_jezik"] . " ukupno";
print "</div>";
print "<div class='grid2 poravnanje ukupno'>";
print $row["prihod_po_stranom_jeziku"];
print "</div>";
}
?>
    <hr>
    <div class="grid12 naslov">Talijanski</div>


<?php
$link = mysqli_connect("localhost", "root", "", "mariva");

$sql = "SELECT DISTINCTROW strani_jezici.strani_jezik, tecajevi.naziv_tecaja,
    CONCAT(FORMAT(Sum(stavke_racuna.cijena_obroka*stavke_racuna.broj_obroka), 2,'de_DE'), ' kn')
    AS prihod_po_tecaju
    FROM racuni
    INNER JOIN ((strani_jezici
    INNER JOIN tecajevi
    ON strani_jezici.id_stranog_jezika = tecajevi.id_stranog_jezika)
    INNER JOIN stavke_racuna
    ON tecajevi.id_tecaja = stavke_racuna.id_tecaja)
    ON racuni.id_racuna = stavke_racuna.id_racuna
    WHERE (racuni.datum_placanja >= '1993-01-01 00:00:00'
    AND racuni.datum_placanja <= '1993-12-31 00:00:00')
    AND strani_jezik = 'talijanski'
    GROUP BY strani_jezici.strani_jezik, tecajevi.naziv_tecaja";

$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print "<div class='grid4 stranijezik'>";
print $row["strani_jezik"];
print "</div>";

print "<div class='grid6'>";
print $row["naziv_tecaja"];
print "</div>";

print "<div class='grid2 poravnanje'>";
print $row["prihod_po_tecaju"];
print "</div>";
}
?>

    <hr>
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");

$sql = "SELECT DISTINCTROW strani_jezici.strani_jezik,
    CONCAT(FORMAT(Sum(stavke_racuna.cijena_obroka*stavke_racuna.broj_obroka), 2,'de_DE'), ' kn')
    AS prihod_po_stranom_jeziku
    FROM racuni
    INNER JOIN ((strani_jezici
    INNER JOIN tecajevi
    ON strani_jezici.id_stranog_jezika = tecajevi.id_stranog_jezika)
    INNER JOIN stavke_racuna
    ON tecajevi.id_tecaja = stavke_racuna.id_tecaja)
    ON racuni.id_racuna = stavke_racuna.id_racuna
    WHERE racuni.datum_placanja >= '1993-01-01 00:00:00'
    And racuni.datum_placanja <= '1993-12-31 00:00:00'
    AND strani_jezik = 'talijanski'
    GROUP BY strani_jezici.strani_jezik";

$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
print "<div class='grid4 stranijezik'>Ukupno za</div>";
print "<div class='grid6 ukupno'>";
print $row["strani_jezik"] . " ukupno";
print "</div>";
print "<div class='grid2 poravnanje ukupno'>";
print $row["prihod_po_stranom_jeziku"];
print "</div>";
}
?>
    <hr>

    <hr>

<?php
$link = mysqli_connect("localhost", "root", "", "mariva");

$sql = "SELECT DISTINCTROW strani_jezici.strani_jezik,
    CONCAT(FORMAT(Sum(stavke_racuna.cijena_obroka*stavke_racuna.broj_obroka), 2,'de_DE'), ' kn')
    AS prihod_po_stranom_jeziku
    FROM racuni
    INNER JOIN ((strani_jezici
    INNER JOIN tecajevi
    ON strani_jezici.id_stranog_jezika = tecajevi.id_stranog_jezika)
    INNER JOIN stavke_racuna
    ON tecajevi.id_tecaja = stavke_racuna.id_tecaja)
    ON racuni.id_racuna = stavke_racuna.id_racuna
    WHERE racuni.datum_placanja >= '1993-01-01 00:00:00'
    And racuni.datum_placanja <= '1993-12-31 00:00:00'";

$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
  print "<div class='grid4 stranijezik'>Sveukupno</div>";
  print "<div class='grid6 ukupno'>Sveukupno</div>";
  print "<div class='grid2 poravnanje ukupno'>";
  print $row["prihod_po_stranom_jeziku"];
  print "</div>";
}
?>
  </div>
</body>
</html>

CSS
=======================================================
body {
  font-family: 'Nunito', sans-serif;
  font-weight: 100;
  font-size: 1em; /* 16px/16px = 1em */
  color: #000000;
  background-color: #ffffff;
  //background-image:url('http://e92.hr/images/velikigrad1.jpg');
  //background-size: 100% 100%;
  //background-repeat: no-repeat;
  //padding-top: 0;
  margin: 40px 0 0 0;
}
.container{
  width: 90%;
  max-width: 1200px;
  padding: 0% 0; /* 0px/1200px = 0 */
  margin: 0 auto;
}

.grid1{ width:8.33333333333333%;float:left; }    /* 100px/1200px=0,0833333333333333=8,33333333333333% */
.grid2{ width: 16.66666666666667%;float:left; }         /* 200px/1200px=0,1666666666666667=16,66666666666667% */
.grid3{ width: 25%;float:left; }  /* 300px/1200px=0,25=25% */
.grid4{ width:33.33333333333333%;float:left; }         /* 400px/1200px=0,3333333333333333=33,33333333333333% */


.grid5{ width:41.66666666666667%;float:left; }    /* 500px/1200px=0,4166666666666667=41,66666666666667% */
.grid6{ width:50%; float:left; }      /* 600px/1200px=0,5=50% */
.grid7{ width:58.33333333333333%; float:left; }    /* 700px/1200px=0,5833333333333333=58,33333333333333% */
.grid8{ width:66.66666666666667%; float:left; }      /* 800px/1200px=0,6666666666666667=66,66666666666667% */
.grid9{ width:75%; float:left; }    /* 900px/1200px=0,75=75% */
.grid10{ width:83.33333333333333%; float:left; }    /* 1000px/1200px=0,8333333333333333=83,33333333333333% */
.grid11{ width:91.66666666666667%; float:left; }  /* 1100px/1200px=0,9166666666666667=91,66666666666667% */
.grid12{ width: 100%; float:left; }  /* 1200px/1200px=1=100% */

.stranijezik {color: #fff;}
.poravnanje {text-align: right;}
.naslov {font-size: 2em; font-weight: 900;}
.ukupno {font-size: 1em; font-weight: 900;}


   @media screen and (max-width : 705px) {
.grid1,
.grid2,
.grid3,
.grid4,
.grid5,
.grid6,
.grid7,
.grid8,
.grid9,
.grid10,
.grid11,
.grid12 {
  width: 100%;
}}

Primjedbe