Radionica programiranje 46. Računi 3. dio


test.php
================================================
<!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">
<div class="grid12">

<?php
/* Ako nismo odabrali polaznika, na ekranu imamo samo padajuci izbornik za odabrati polaznika kome radimo racun */

if (!isset($_GET["polaznici"]))
{
?>
<form action='test.php' method='get'>
    <select name="polaznici"  onchange="this.form.submit();">
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");
$sql = "SELECT DISTINCT ime, prezime, id_polaznika
FROM polaznici_tecaja";
$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
    if ($row["id_polaznika"] == $_GET["polaznici"]) {
        print "<option value=" . $row["id_polaznika"] . " selected>"
        . $row["ime"] . " " . $row["prezime"] . "</option>";
        }
    else {
        print "<option value=" . $row["id_polaznika"] . ">"
        . $row["ime"] . " " . $row["prezime"] . "</option>";
    }
}
?>
    </select>
</form>
</div><!-- Kraj prvog ekrana na kojem se vidi samo padajuci izbornik za izbor polaznika -->

<?php
}

else
/* Ako smo odabrali polaznika, na ekranu vidimo lijevo podatke o polazniku a desno iste te podatke o primatelju racuna. Podatke primatelja racuna mozemo mjenjati jer
za polaznika moze platiti on a moze i firma, staratelj, donator. */
{
?>
<!-- Uvjek se ponavlja na ekranu padajuci izbornik koji je u div class12 -->
<div class="grid12">
<form action='test.php' method='get'>
    <select name="polaznici"  onchange="this.form.submit();">
<?php
$link = mysqli_connect("localhost", "root", "", "mariva");
$sql = "SELECT DISTINCT ime, prezime, id_polaznika
FROM polaznici_tecaja";
$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
    if ($row["id_polaznika"] == $_GET["polaznici"]) {
        print "<option value=" . $row["id_polaznika"] . " selected>"
        . $row["ime"] . " " . $row["prezime"] . "</option>";
        }
    else {
        print "<option value=" . $row["id_polaznika"] . ">"
        . $row["ime"] . " " . $row["prezime"] . "</option>";
    }
}
?>
    </select>
</form>
</div><!-- Kraj padajuceg izbornika za izbor polaznika na drugom ekranu kad je polaznik vec izabran -->

<!-- Ispod padajuceg izbornika na lijevoj strani su polja popunjena s podacima odabranog polaznika, polaznika za kojeg radimo racun. Ovi su podaci samo tu radi kontrole, jer iste podatke imamo i na desnoj strani i ta desna strana puni tablicu Racuni. Ta desna strana su podaci primatelja racuna. -->

<!-- <form action='unesi_novi_racun.php' method='post'> -->
<div class="grid6">
<?php
$id_polaznika = $_GET["polaznici"];
$link = mysqli_connect("localhost", "root", "", "mariva");
$sql = "SELECT DISTINCT id_polaznika, ime, prezime, ulicaibroj, grad, postanski_broj
FROM polaznici_tecaja
WHERE id_polaznika = $id_polaznika";
$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
    print "<input type='text' name='id_polaznika'" . " " . "value=" . $row["id_polaznika"] . "></br>";
    print "<input type='text' name='ime'" . " " . "value=" . $row["ime"] . "></br>";
    print "<input type='text' name='prezime'" . " " . "value=" . $row["prezime"] . "></br>";
    print "<input type='text' name='ulicaibroj'" . " " . "value=" . $row["ulicaibroj"] . "></br>";
    print "<input type='text' name='grad'" . " " . "value=" . $row["grad"] . "></br>";
    print "<input type='text' name='postanski_broj'" . " " . "value=" . $row["postanski_broj"] . "></br>";
}
?>
</div> <!-- Kraj polja s podacima polaznika na lijevoj strani -->


<div class="grid6"><!-- Ispod padajuceg izbornika na desnoj strani su polja popunjena s podacima odabranog polaznika, polaznika za kojeg radimo racun, a koja mozemo mjenjati ili ostaviti istima, jer platitelj ne mora biti polaznik. Ovi podaci pune redak u tablici Racuni -->
<form action='unesi_novi_racun.php' method='post'>
<?php
$id_polaznika = $_GET["polaznici"];
$link = mysqli_connect("localhost", "root", "", "mariva");
$sql = "SELECT DISTINCT id_polaznika, ime, prezime, ulicaibroj, grad, postanski_broj
FROM polaznici_tecaja
WHERE id_polaznika = $id_polaznika";
$result = mysqli_query($link, $sql);
While ($row = mysqli_fetch_assoc($result))
{
    print "<input type='text' name='id_polaznika'" . " " . "value=" . $row["id_polaznika"] . "></br>";
    print "<input type='text' name='ime'" . " " . "value=" . $row["ime"] . "></br>";
    print "<input type='text' name='prezime'" . " " . "value=" . $row["prezime"] . "></br>";
    print "<input type='text' name='ulicaibroj'" . " " . "value=" . $row["ulicaibroj"] . "></br>";
    print "<input type='text' name='grad'" . " " . "value=" . $row["grad"] . "></br>";
    print "<input type='text' name='postanski_broj'" . " " . "value=" . $row["postanski_broj"] . "></br>";
    /* skriveni podatak je za treci ekran kad se pojavljuju podaci iz tablice Racuni. To su podaci upravo kreiranog racuna u ekranu 2, a to je ekran u kojem se nalazi 'skriveno', ovaj u kojem ovo pise. */
    print "<input type='text' name='skriveno'" . " " . "value='1'></br>";
}
?>
</div><!-- Kraj podataka primatelja na desnoj strani ekrana. Ti podaci pune tablicu Racuni. -->
<!-- Elementi forme za nacin placanja -->
<div class="grid12">
  <input type="radio" name="nacin_placanja" value="1">Gotovina
  <input type="radio" name="nacin_placanja" value="2">American
  <input type="radio" name="nacin_placanja" value="3">Čekovi
  <input type="radio" name="nacin_placanja" value="4">Diners
  <input type="submit" value="Novi račun">
</form>
</div><!-- Kraj grid12 nacina placanja -->
<?php
}
?>
  </div>
</body>
</html>

unesi_novi_racun.php
=============================
<?php
print $id_polaznika = $_POST["id_polaznika"];
print $ime = $_POST["ime"];
print $prezime = $_POST["prezime"];
print $ulica_i_broj = $_POST["ulicaibroj"];
print $grad = $_POST["grad"];
print $postanski_broj = $_POST["postanski_broj"];
print $nacin_placanja = $_POST["nacin_placanja"];
print $datum_placanja = date("Y-m-d H:i:s");
print $rok_placanja = date('Y-m-d H:i:s', strtotime(date("Y-m-d H:i:s"). ' + 15 days'));

$link = mysqli_connect("localhost", "root", "", "mariva");
$sql = "INSERT INTO racuni (id_polaznika, ime_primatelja, prezime_primatelja,
ulica_i_broj, grad, postanski_broj, id_nacin_placanja, datum_placanja, rok_placanja)
VALUES ($id_polaznika, '$ime', '$prezime', '$ulica_i_broj', '$grad', '$postanski_broj', $nacin_placanja, '$datum_placanja', '$rok_placanja')";
$result = mysqli_query($link, $sql);
header("Location:test.php?polaznici=$id_polaznika");
?>

Primjedbe