Sprawdzanie czy dany wiersz występuje w bazie danych.

Odpowiedz Nowy wątek
2018-11-10 13:15
0

Witam, mam do napisania skrypt, w którym mamy usuwać oraz dodawać dane do bazy danych. Chciałem zrobić wyskakującą wiadomość która zawiadomi nas jeśli podamy id wiersza, który nie istnieje w bazie danych lecz nie do końca to działa.

index.php ( html + wyświetlanie danych z bazy)

<html>
    <head>
       <style>
        .first-word
        {
            font-size:20px;
            color:crimson;
           }
           .tytul
           {
               position:relative;
               left:10px;

           }
           input
           {
               padding:10px;
               margin:1px;
           }
           .przycisk
           {
               background:none;
               border-width:1px;
               color:black;

           }
           .przycisk:hover
           {
               border-color:red;
               color:green;

               background:none;
           }
        </style>
        <meta charset="UTF-8">
    </head>
    <body>
        <form action="add.php" method="POST">
        <form action="add.php" method="POST" name="dodaj">
           Tytuł: <input type="text" name="tytul" class='tytul' /> <br />
           Reżyser: <input type="text" name="rezyser" /> <br />
           Czas: <input type="text" name="czas" /> <br />
           <input type="submit" value="Dodaj" class="przycisk" /> <br />
        </form>

        <form action="add.php" method="POST">
             ID: <input type="text" name="id" /> <br />
             <input type="submit" value="Usuń" class="przycisk" />
        </form>
        </form>
     <?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "baza3";
$conn = new mysqli($servername,$username,$password,$dbname);
if($conn->connect_error)
{
    die("Blad polaczenia: ".$conn->connect_error);
}
$sql = "SELECT * FROM filmy";
$result = $conn->query($sql);
if($result->num_rows > 0)
{
    while($row = $result->fetch_assoc())
    {
        echo "<span class='first-word'>ID ".$row["ID"]."</span>"." tytul: ".$row["tytul"]." Rezyser: ".$row["rezyser"]." czas: ".$row["czas"]."<br>";
    }
}

?>
    </body>
</html>

add.php(dodawanie i usuwanie danych)

<style>
    #div1
    {
        padding:20px;
        font-size:30px;
        color:red;
    }
</style>
<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "baza3";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error)
{
    die("Blad polaczenia: ".$conn->connect_error);
}
else
{   
    $id = $_POST['id'];
    $checkall = ("SELECT * FROM filmy WHERE ID=$id");
    $resultcheck = $conn->query($checkall);    
    $formFilled = true;
    foreach (['tytul', 'rezyser', 'czas'] as $inputName) {
  $inputValue = trim($_POST[$inputName] ?? '');

  if (strlen($inputValue) === 0) {
    $formFilled = false;
  }
    }
if ($formFilled == true) 
{
    $tytul = $_POST['tytul'];
    $rezyser = $_POST['rezyser'];
    $czas = $_POST['czas'];
    $sql = ("INSERT INTO filmy VALUES ('','$tytul','$rezyser','$czas')");
    $conn->query($sql);
    header("location:index.php");
}
    else 
    {
       include("index.php");
        echo "<div id='div1'>Podaj wszystkie dane!</div>";
    }

     if (isset($_POST['id']))
    {
        $id = $_POST['id'];
        $sql3 = ("DELETE FROM filmy WHERE ID = $id");
        $conn->query($sql3);
        header("location:index.php");
    }

     else if ($resultcheck->num_rows==0)
    {
       include("index.php");
        echo "<div id='div1'>Podane ID nie występuje w bazie danych</div>";
    }
}

?>
edytowany 1x, ostatnio: mamon, 2018-11-10 13:24

Pozostało 580 znaków

2018-11-10 15:11
0

Poradziłem sobie z problemem.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0