Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the quiz-master-next domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /data01/virt105257/domeenid/www.blinov20.thkit.ee/htdocs/wp/wp-includes/functions.php on line 6131
JSON project – Georgi Blinov Õpimapp

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