JSON project

  1. Создать json файл в который вставить следующее содержимое
{
  "tooted": {
    "toode": [
      {
        "nimetus": "käärid",
        "kirjeldus": "lõikavad",
        "hind": "5,36"
      },
      {
        "nimetus": "tangid",
        "kirjeldus": "kui on vaja midagi kangutada",
        "hind": "5"
      },
      {
        "nimetus": "Pliiats",
        "kirjeldus": "Ilusate asjade joonistamiseks",
        "hind": "0,56"
      }
    ]
  }
}

2.Создаем PHP файл, в который вставляем следующий код

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Toote lugemine</title>
</head>
<body>
    <h2>Tooted</h2>
    <div id="content">
        <?php
            $file = file_get_contents("thing.json"); //поменяйте имя файла
            $data = json_decode($file, TRUE);
 
            foreach ($data as $voti=>$vaartus) {
                $nimetus = $vaartus['nimetus'];
                $kirjeldus = $vaartus['kirjeldus'];
                $hind = $vaartus['hind'];
                 
                echo '<h3>'.$nimetus.'</h3>';
                echo '<p>'.$kirjeldus.'</p>';
                echo '<p>'.$hind.'€</p>';
            }
        ?>
    </div>
</body>

Ссылка на работу

3. Создаем php файл в который вставляем следующий код

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Toote lugemine</title>
</head>
<body>
<h2>Tooted</h2>
<div id="content">

    <table>
        <tr>
            <th>Nimetus</th>
            <th>Kirjeldus</th>
            <th>Hind</th>
        </tr>

    <?php
    $file = file_get_contents("tooted.json");
    $data = json_decode($file, TRUE);

    foreach ($data as $voti=>$vaartus) {
        $nimetus = $vaartus['nimetus'];
        $kirjeldus = $vaartus['kirjeldus'];
        $hind = $vaartus['hind'];

        echo "<tr>";
        echo "<td>".$nimetus."</td>";
        echo "<td>".$kirjeldus."</td>";
        echo "<td>".$hind."</td>";
    }
    ?>
    </table>
</div>
</body>
</html>

Дальше создаем еще один в Body элементе того же PHP файла добавляем следующий код:

<table>
    <form action="" method="post" name="vorm1">
        <tr>
            <td><label for="nimetus">Toote nimetus:</label></td>
            <td><input type="text" name="nimetus" id="nimetus" autofocus></td>
        </tr>
        <tr>
            <td><label for="kirjeldus">Kirjeldus:</label></td>
            <td><input type="text" name="kirjeldus" id="kirjeldus"></td>
        </tr>
        <tr>
            <td><label for="hind">Hind:</label></td>
            <td><input type="text" name="hind" id="hind"></td>
        </tr>
        <tr>
            <td><input type="submit" name="submit" id="submit" value="Sisesta"></td>
            <td></td>
        </tr>
    </form>
</table>

Код выше создает таблицу, которая добавляет данные ей значения в JSON

А код ниже это обрабатывает и сохраняет

<?php
if(isset($_POST['submit'])){
    unset($_POST['submit']);
    $file = "thing.json"; //название изменено
    $data = json_decode(file_get_contents($file),TRUE);
 
    $newdata = $_POST;
    $data[] = $newdata;
    file_put_contents($file, json_encode($data,JSON_PRETTY_PRINT));
 
    echo "Andmed lisatud";
}
?>
<?php
//kustutamine
if(isset($_POST['kustuta'])){
    unset($_POST['kustuta']);
    $file = "thing.json"; //название изменено
    $data = json_decode(file_get_contents($file),TRUE);
 
    $newdata = $_POST;
    unset($data[$_POST["what"]]);
    file_put_contents($file, json_encode($data,JSON_PRETTY_PRINT));
    echo "Andmed on kustutatud";
    echo "<br>";
    echo "<a href='thing.php'>Reset</a>";
}
//lisamine jsonisse
if(isset($_POST['submit'])){
    unset($_POST['submit']);
    $file = "thing.json"; //название изменено
    $data = json_decode(file_get_contents($file),TRUE);
 
    $newdata = $_POST;
    $data[] = $newdata;
    file_put_contents($file, json_encode($data,JSON_PRETTY_PRINT));
 
    echo "Andmed on lisatud";
    echo "<br>";
    echo "<a href='thing.php'>Reset</a>";
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Toote lugemine</title>
    <style>
        #table {
            font-family: arial, sans-serif;
            border-collapse: collapse;
            width: 100%;
        }
 
        #table td, th {
            border: 1px solid #dddddd;
            text-align: left;
            padding: 8px;
        }
 
        #table tr:nth-child(even) {
            background-color: #dddddd;
        }
    </style>
</head>
<body>
<h2>Tooted</h2>
 
<div id="content">
    <table id="table">
        <tr>
            <th>Nimetus</th>
            <th>Kirjeldus</th>
            <th>Hind</th>
            <th></th>
        </tr>
    <?php
    $file = file_get_contents("thing.json");
    $data = json_decode($file, TRUE);
    $count = 0;
    foreach ($data as $voti=>$vaartus) {
        $nimetus = $vaartus['nimetus'];
        $kirjeldus = $vaartus['kirjeldus'];
        $hind = $vaartus['hind'];
        echo "<tr>";
        echo "<td>".$nimetus."</td>";
        echo "<td>".$kirjeldus."</td>";
        echo "<td>".$hind."€</td>";
        echo "<td>
<form method='post' name='kustuta'>
    <input type='hidden' value='$count' name='what' id='what'>
    <input type='submit' name='kustuta' id='kustuta' value='Kustuta'>
</form>
</td>";
        echo "</tr>";
        $count++;
    }
    ?>
    </table>
</div>
<table>
    <form action="" method="post" name="vorm1">
        <tr>
            <td><label for="nimetus">Toote nimetus:</label></td>
            <td><input type="text" name="nimetus" id="nimetus" autofocus></td>
        </tr>
        <tr>
            <td><label for="kirjeldus">Kirjeldus:</label></td>
            <td><input type="text" name="kirjeldus" id="kirjeldus"></td>
        </tr>
        <tr>
            <td><label for="hind">Hind:</label></td>
            <td><input type="number" name="hind" id="hind" max="100"></td>
        </tr>
        <tr>
            <td><input type="submit" name="submit" id="submit" value="Sisesta"></td>
            <td></td>
        </tr>
    </form>
</table>
<a href="thing.json">JSON faili sisu</a>
</body>
</html>

Tehtud ülesanned

Mis on yaml?

YAML (YAML Ain’t Markup Language) on andmevahetusvorming, mis on loodud eesmärgiga olla võimalikult inimloetav ning lihtsasti integreeritav paljude programmeerimiskeeltega

https://blinov20.thkit.ee/Ulessanne2/yaml.html

Mis on json?

JSON (JavaScript Object Notation) on andmevahetusformaat, mis on alternatiiv XML’le. Kuigi see põhineb Javascriptil, on see sõltumatu programmeerimiskeeltest. Nagu XML, on ka JSON lihtne tekstifail, mis hoiab andmeid organiseeritult. JSON on kergekaaluline, mis tähendab vähem teksti, paremat loetavust ning masina puhul kiiremat töötlemist.

https://blinov20.thkit.ee/Ulesanne1/json.php