Need help with PHP

Hi, could someone explain to me the difference between mysqli_fetch_array and mysqli_num_rows please ?

//INDEX

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Úvodní strana</title>

</head>

<body>

    <header>

        <h1>Grindewald</h1>

        <h2>Autor: Brumbál</h2>

    </header>

    <nav>

       <ul>

            <li>Počítadlo přístupů</li>

            <li><a href="./kniha_navstev.php">Kniha návštěv</a></li>

        <li class="subButton">Práce s databází

            <ul class="submenu">

                <li><a href="./vloz.php">Vkládání</a></li>

                <li><a href="./zobraz.php">Zobrazení</a></li>

                <li><a href="./seskup.php">Seskupování</a></li>

                <li><a href="./smaz.php">Smazání</a></li>

                <li><a href="./vyhledej.php">Vyhledávání</a></li>

            </ul>

        </li>

        </ul>

    </nav>

<article>

    <?php

    include("pripoj.php");

    $ip_address = $_SERVER['REMOTE_ADDR'];

    $query = "INSERT INTO pocitadlo(ip_adresa) VALUES ('$ip_address')";

    $response = mysqli_query($connection, $query);

    if ($response !=1) echo "Nepodařilo se kontaktovat databázi";

    //prvni zpusob

    $query = "SELECT poradi_navstevy FROM pocitadlo";

    $response = mysqli_query($connection, $query);

   

    if(mysqli_num_rows($response)>0)

    {

        $pocitadlo1 = mysqli_num_rows($response);

    }

    else

    {

        $pocitadlo1 = "Chyba!";

    }

    //druhy zpusob

    $query = "SELECT poradi_navstevy FROM pocitadlo ORDER BY poradi_navstevy DESC LIMIT 1";

    $response = mysqli_query($connection, $query);

    if(mysqli_num_rows($response)>0)

    {

        $pocitadlo2 = mysqli_fetch_row($response)[0];

    }

    else{

        $pocitadlo2 = "Chyba!";

    }

    echo "<h3>Jste $pocitadlo1 této stránky</h3>";

    echo "<h3>Jste $pocitadlo2 této stránky</h3>";

    ?>

               

</article>          

   

</body>

</html>

//VLOZIT

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Vkládání</title>

</head>

<body>

    <header>

        <h1>Vložení do databáze</h1>

        <a href="./index.php">Zpět na hlavní stránku</a>

    </header>

    <form method="POST">

      <fieldset>

          <legend>Základní informace</legend><br>

           <label for="jm">Jméno:</label><input type="text" name="jmeno" id="jm" placeholder="Zadejte jméno" required><br><br>

           <label for="pr">Příjmení:</label><input type="text" name="prijmeni" id="pr" placeholder="Zadejte příjmení" required><br><br>

           Pohlaví: <br>

           <label for="m">Muž</label><input type="radio" name="pohlavi" id="m" checked>

           <label for="z">Žena</label><input type="radio" name="pohlavi" id="m" checked>

    </fieldset>

    <br>

    <fieldset>

        <legend>Skupina/Vzdělání</legend>

        <label for="skup">Skupina:</label>

        <select name="skupina" id="skup" required>

            <option value="zaměstnanec">Zaměstnanec</option>

            <option value="nezaměstnaný">Nezaměstnaný</option>

            <option value="OSVČ">OSVČ</option>

            <option value="žák/student">Žák/Student</option>

            <option value="důchodce">Důchodce</option>

        </select>

        <br><br>

        <label for="vzdel">Vzdělání:</label>

        <select name="vzdelani" id="vzdel" required>

            <option value="ZŠ">ZŠ</option>

            <option value="SŠ">SŠ</option>

            <option value="VŠ">VŠ</option>

        </select>

        <br>

    </fieldset>

    <br>

    <fieldset>

        <legend>Místo bydliště</legend>

        <label for="obec">Obec:</label><input type="text" name="obec" id="obec" required> <br><br>

        <label for="kraj">Kraj:</label>

        <select name="kraj" id="kraj" required>

        <option value="Praha">Hlavní město Praha</option>

                <option value="Středočeský kraj">Středočeský kraj</option>

                <option value="Jihočeský kraj">Jihočeský kraj</option>

                <option value="Plzeňský kraj">Plzeňský kraj</option>

                <option value="Karlovarský kraj">Karovarský kraj</option>

                <option value="Ústecký kraj">Ústecký kraj</option>

                <option value="Liberecký kraj">Liberecký kraj</option>

                <option value="Královehradecký kraj">Královehradecký kraj</option>

                <option value="Pardubický kraj">Pardubický kraj</option>

                <option value="Olomoucký kraj">Olomoucký kraj</option>

                <option value="Moravskoslezský kraj">Moravskoslezský kraj</option>

                <option value="Jihomoravský kraj">Jihomoravský kraj</option>

                <option value="Zlínský kraj">Zlínský kraj</option>

                <option value="Vysočina">Kraj Vysočina</option>

        </select> <br><br>

    </fieldset>

    <br>

    <input type="submit" value="Vložit">

</form>

<?php

if($_SERVER["REQUEST_METHOD"] == "POST")

{

    include("pripoj.php");

    function testData($data)

    {

        $data = trim($data);

        $data = stripslashes($data);

        $data = htmlspecialchars($data);

        return $data;

    }

    $jmeno = testData($_POST["jmeno"]);

    $prijmeni = testData($_POST["prijmeni"]);

    $pohlavi = testData($_POST["pohlavi"]);

    $skupina = testData($_POST["skupina"]);

    $vzdelani = testData($_POST["vzdelani"]);

    $obec = testData($_POST["obec"]);

    $kraj = testData($_POST["kraj"]);

    $query = "INSERT INTO data3(prijmeni, jmeno, pohlavi, skupina, vzdelani, obec, kraj) VALUES ('$prijmeni', '$jmeno', '$pohlavi', '$skupina', '$vzdelani', '$obec', '$kraj')";

    $response = mysqli_query($connection, $query);

    if($response == 1)

    {

        echo "<div class='tabulka'> Následující záznam byl přidán<br><br>";

        echo "<table border=1>";

        echo "<tr><th>Příjmení</th><th>Jméno</th><th>Pohlaví</th><th>Skupina</th><th>Vzdělání</th><th></th><th>Obec</th><th>Kraj</th></tr>";

        echo "<tr><th>$prijmeni</th><th>$jmeno</th><th>$pohlavi</th><th>$skupina</th><th>$vzdelani</th><th></th><th>$obec</th><th>$kraj</th></tr>";

        echo "</table> </div>";

    }

    else echo "Došlo k chybě při vkládání";

   

    mysqli_close($connection);

}

?>

                       

           
   

</body>

</html>
//CONNECTION
<?php

$server = "localhost";

$user = "root";

$pass = "";

$database =

$connection = mysqli_connect($server, $user, $pass, $database);

if(!$connection) die("Nepodařilo se připojit k databázi.");

else mysqli_set_charset($connection, "utf8");

?>

//THE BIBLE

<html lang="cs">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link rel="stylesheet" href="style.css">

    <title>Kniha návštěv</title>

</head>

<body>

    <header>

    <h1>Kniha návštěv</h1>

    <a href="./index.php">Zpět na hlavní stránku</a><br><br>

    </header>

    <form method="POST" class="zpravy">

        <fieldset>

            <legend>Zanechte zprávu:</legend>

            <br>

            <label for="jm">Jméno: </label><input type="text" name="jmeno" id="jm" required><br><br>

            <label for="zp">Zpráva: </label><br><textarea name="zprava" id="zp" cols="30" rows="10" maxlength="255" placeholder="Sem napište zprávu" required></textarea><br><br><br>

            <label for="gdpr">Souhlasím se zpracováním údajů: </label><input type="checkbox" id="gdpr" required><br><br>

            <input type="submit" value="Odeslat">

        </fieldset>

    </form>

    <div class="zpravy">

        <?php

            //Tohle je cast, ktera slouzi jenom k vypisovani zprav

            //pripojeni k dtb

            include("connect.php");

            //select dotaz a nasledna odpoved - LIMIT 10 mi limituje pouze poslednich 10 zprav

            $query = "SELECT * FROM kniha_navstev ORDER BY id_prispevku DESC LIMIT 10";

            $response = mysqli_query($connection, $query);

            //vypisovani dat z odpovedi do tabulky

            while($row = mysqli_fetch_array($response))

            {

              echo "<br><div class='zprava'>";

                echo "<span>Datum a čas zprávy:</span> $row[cas]<br>";

                echo "<span>Jméno:</span> $row[jmeno]<br>";

                echo "<span>Zpráva:</span><br> $row[zprava] <br>";

              echo "</div>";

            }

            //ukonceni pripojeni

            mysqli_close($connection);

        ?>

    </div>

</body>

</html>

<?php

//Tohle je cast slouzici jenom k pridavani zprav do dtb

if($_SERVER["REQUEST_METHOD"] == "POST")

{

    include("connect.php");  

    //kontrola vstupu

    function chcekInputData($data)

    {

        $data = trim($data);

        $data = stripslashes($data);

        $data = htmlspecialchars($data);

        return $data;

    }

    $jmeno = chcekInputData($_POST["jmeno"]);

    $zprava = chcekInputData($_POST["zprava"]);

    //nastaveni casoveho pasma a formatu casu

    date_default_timezone_set("Europe/Prague");

    $datum = date('d.m.Y H:i:s');

   

    //dotaz a odopved

    $query = "INSERT INTO kniha_navstev(jmeno, zprava, cas) VALUES ('$jmeno', '$zprava', '$datum')";

    $response = mysqli_query($connection, $query);

    //kontrola spravneho odeslani

    if($response != 1)

    {

        echo "Chyba komunikace s databází!";

    }

    else

    {

        //ukonceni pripojeni a nasledny refresh stranky, aby se zobrazili nejnovejsi zpravy

        mysqli_close($connection);

        header("Refresh:0");

    }

}

?>

//SESKUP

<html lang="cs">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link rel="stylesheet" href="style.css">

    <title>Seskupování dat</title>

</head>

<body>

    <header>

        <h1>Seskupení dat z databáze</h1>

        <a href="./index.php">Zpět na hlavní stránku</a><br><br>  

    </header>

    <form method="POST">

        <fieldset>

            <legend>Vyber parametry pro seskupení</legend><br>

            <label for="param">Sloupec pro seskupení: </label>

            <select name="parametr" id="param" required>

                <option value="prijmeni">Příjmení</option>

                <option value="jmeno">Jméno</option>

                <option value="pohlavi">Pohlaví</option>

                <option value="skupina">Skupina</option>

                <option value="vzdelani">Vzdělání</option>

                <option value="obec">Obec</option>

                <option value="kraj">Kraj</option>

            </select><br><br>

            Řazení výsledků: <br>

            <input type="radio" name="razeni" value="DESC" id="sest" checked> <label for="sest">Sestupně</label>

            <input type="radio" name="razeni" value="ASC" id="vzest"> <label for="vzest">Vzestupně</label>

            <br><br>

            <input type="submit" value="Zobrazit">

        </fieldset>

    </form><br>

    <?php

        if($_SERVER["REQUEST_METHOD"] == "POST")

        {

            //pripojeni k dtb

            include('pripoj.php');

            //kontrola vstupnich dat

            function testData($data)

            {

                $data = trim($data);

                $data = stripslashes($data);

                $data = htmlspecialchars($data);

                return $data;

            }

           

            $parametr = testData($_POST["parametr"]);

            $razeni = testData($_POST["razeni"]);

            //dotaz a odpoved - mam count(prijmeni), protoze v tabulce neni urcen primarni klic

            $query = "SELECT $parametr, count(prijmeni) FROM data3 GROUP BY $parametr ORDER BY count(prijmeni) $razeni";

            $response = mysqli_query($connection, $query);

            //vypis dat z odpovedi do tabulky

            echo "<div class='tabulka'><table border=1>";

            echo "<tr><th>$parametr</th><th>Počet výskytů</th></tr>";

            while ($row = mysqli_fetch_array($response))

            {

                echo "<tr><td>$row[0]</td><td>$row[1]</td></tr>";

            }

            echo "</table></div>";

            //ukonceni pripojeni

            mysqli_close($connection);

        }

        else echo "<div class='tabulka'>Vyber sloupec.</div>";

    ?>

</body>

</html>
//SEARCH
<!DOCTYPE html>

<html lang="cs">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link rel="stylesheet" href="style.css">

    <title>Vyhledávání dat</title>

</head>

<body>

    <header>

        <h1>Vyhledávání dat v databázi</h1>

        <a href="./index.php">Zpět na hlavní stránku</a><br><br>  

    </header>

    <form method="POST">

        <fieldset>

            <legend>Zadejte parametry k vyhledávání</legend><br>

            <label for="jm">Jméno: </label> <input type="text" name="jmeno" id="jm" placeholder="Zadejte jméno"><br><br>

            <label for="pr">Příjmení: </label> <input type="text" name="prijmeni" id="pr" placeholder="Zadejte příjmení"><br><br>

             

            <input type="submit" value="Vyhledat">

        </fieldset>

    </form> <br>

    <?php

        if($_SERVER["REQUEST_METHOD"] == "POST")

        {

            //Tento kod je prakticky zrecyklovany kod ze smaz.php, akorat bez delete dotazu

            function dataCheck($data)

            {

                $data = trim($data);

                $data = stripslashes($data);

                $data = htmlspecialchars($data);

                return $data;

            }

            if($_POST["jmeno"] == "" && $_POST["prijmeni"] == "")

            {

                echo "<div class='tabulka'>Zadejte alespoň jeden údaj.</div>";

            }

            else

            {

                if ($_POST["jmeno"] != "")

                {

                    $jmeno = dataCheck($_POST["jmeno"]);

                }

                else $jmeno = '%';

                if ($_POST["prijmeni"] != "")

                {

                    $prijmeni = dataCheck($_POST["prijmeni"]);

                }

                else $prijmeni = '%';

                include("pripoj.php");

                $query = "SELECT * FROM data3 WHERE jmeno like '$jmeno' AND prijmeni like '$prijmeni'";

                $response = mysqli_query($connection, $query);

                if(mysqli_num_rows($response) > 0)

                {

                    if (mysqli_num_rows($response) == 1)

                    {

                        echo "<div class='tabulka'>Byl nalezen 1 záznam. <br><br>";

                    }

                    else if (mysqli_num_rows($response) == 2)

                    {

                        echo "<div class='tabulka'>Byly nalezeny 2 záznamy. <br><br>";

                    }

                    else echo "<div class='tabulka'>Bylo nalezeno ".mysqli_num_rows($response)  ." záznamů. <br><br>";

                    echo "<table border=1>";

                    echo "<tr><th>Příjmení</th><th>Jméno</th><th>Pohlaví</th><th>Skupina</th><th>Vzdělání</th><th>Obec</th><th>Kraj</th></tr>";

                    while ($row = mysqli_fetch_array($response))

                    {

                        echo "<tr><td>$row[prijmeni]</td><td>$row[jmeno]</td><td>$row[pohlavi]</td><td>$row[skupina]</td><td>$row[vzdelani]</td><td>$row[obec]</td><td>$row[kraj]</td></tr>";

                    }

                    echo "</table></div>";

                }

                else echo "<div class='tabulka'>Záznam nebyl nalezen.</div>";

                mysqli_close($connection);

            }

        }

       

        ?>

</body>

</html>
//DELETE
<!DOCTYPE html>

<html lang="cs">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link rel="stylesheet" href="style.css">

    <title>Smazání dat</title>

</head>

<body>

    <header>

        <h1>Mazání dat z databáze</h1>

        <a href="./index.php">Zpět na hlavní stránku</a><br><br>  

    </header>

    <form method="POST">

        <fieldset>

            <legend>Vyber záznam pro smazání</legend><br>

            <label for="jm">Jméno: </label> <input type="text" name="jmeno" id="jm" placeholder="Zadejte jméno"><br><br>

            <label for="pr">Příjmení: </label> <input type="text" name="prijmeni" id="pr" placeholder="Zadejte příjmení"><br><br>

           

            <input type="submit" value="Smazat">

        </fieldset>

    </form> <br><br>

    <?php

   

        if($_SERVER["REQUEST_METHOD"] == "POST")

        {

            //kontrola vstupnich dat

            function dataCheck($data)

            {

                $data = trim($data);

                $data = stripslashes($data);

                $data = htmlspecialchars($data);

                return $data;

            }

            //kontrola, jestli uzivatel nevyplnil ani jedno z poli

            if($_POST["jmeno"] == "" && $_POST["prijmeni"] == "")

            {

                echo "<div class='tabulka'>Zadejte alespoň jeden údaj.</div>";

            }

            else

            {

                //doplneni zastupneho znaku, kdyz neni vlozena moznost

                if ($_POST["jmeno"] != "")

                {

                    $jmeno = dataCheck($_POST["jmeno"]);

                }

                else $jmeno = '%';

                if ($_POST["prijmeni"] != "")

                {

                    $prijmeni = dataCheck($_POST["prijmeni"]);

                }

                else $prijmeni = '%';

                //pripojeni k databazi

                include("pripoj.php");

                //dotaz a odpoved

                //je to select, aby bylo videt co se maze

                $query = "SELECT * FROM data3 WHERE jmeno like '$jmeno' AND prijmeni like '$prijmeni'";

                $response = mysqli_query($connection, $query);

                //kontrola, zda byl nalezen zaznam

                if(mysqli_num_rows($response) > 0)

                {  

                    //vypisovani poctu smazanych udaju s rozlisenim pro 1,2,x udaju

                    if (mysqli_num_rows($response) == 1)

                    {

                        echo "<div class='tabulka'>Byl smazán 1 záznam. <br><br>";

                    }

                    else if (mysqli_num_rows($response) == 2)

                    {

                        echo "<div class='tabulka'>Byly smazány 2 záznamy. <br><br>";

                    }

                    else echo "<div class='tabulka'>Bylo smazáno ".mysqli_num_rows($response)  ." záznamů. <br><br>";

                    //vypis tabulky udaju ktere budou smazany

                    echo "<table border=1>";

                    echo "<tr><th>Příjmení</th><th>Jméno</th><th>Pohlaví</th><th>Skupina</th><th>Vzdělání</th><th>Obec</th><th>Kraj</th></tr>";

                    while ($row = mysqli_fetch_array($response))

                    {

                        echo "<tr><td>$row[prijmeni]</td><td>$row[jmeno]</td><td>$row[pohlavi]</td><td>$row[skupina]</td><td>$row[vzdelani]</td><td>$row[obec]</td><td>$row[kraj]</td></tr>";

                    }

                    echo "</table></div>";

                    //mazaci dotaz

                    $query = "DELETE FROM data3 WHERE jmeno like '$jmeno' AND prijmeni like '$prijmeni'";

                    $response = mysqli_query($connection, $query);

                    //odpojeni od dtb

                    mysqli_close($connection);

                }

                else echo "<div class='tabulka'>Záznam nebyl nalezen.</div>";

            }  

        }  

    ?>

</body>

</html>
//SHOW
<!DOCTYPE html>

<html lang="cs">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link rel="stylesheet" href="style.css">

    <title>Zobrazení dat</title>

</head>

<body>

    <header>

        <h1>Zobrazení dat z databáze</h1>

        <a href="./index.php">Zpět na hlavní stránku</a><br><br>  

    </header>

    <form method="POST">

        <fieldset>

            <legend>Vyber parametry pro zobrazenmí</legend><br>

            <label for="param">Sloupec pro seřazení: </label>

            <select name="parametr" id="param" required>

                <option value="prijmeni">Příjmení</option>

                <option value="jmeno">Jméno</option>

                <option value="pohlavi">Pohlaví</option>

                <option value="skupina">Skupina</option>

                <option value="vzdelani">Vzdělání</option>

                <option value="obec">Obec</option>

                <option value="kraj">Kraj</option>

            </select><br><br>

            Způsob řazení výsledků: <br>

            <input type="radio" name="razeni" value="DESC" id="sest" checked> <label for="sest">Sestupně</label>

            <input type="radio" name="razeni" value="ASC" id="vzest"> <label for="vzest">Vzestupně</label>

            <br><br>

            <input type="submit" value="Zobrazit">

        </fieldset>

    </form><br>

    <?php

        if($_SERVER["REQUEST_METHOD"] == "POST")

        {

            //pripojeni k dtb

            include('pripoj.php');

            //kontrola vstupnich udaju

            function testData($data)

            {

                $data = trim($data);

                $data = stripslashes($data);

                $data = htmlspecialchars($data);

                return $data;

            }

           

            $parametr = testData($_POST["parametr"]);

            $razeni = testData($_POST["razeni"]);

            //dotaz, odpoved

            $query = "SELECT * FROM data3 ORDER BY $parametr $razeni";

            $response = mysqli_query($connection, $query);

            //vypis vyslednych udaju do tabulky

            echo "<div class='tabulka'><table border=1>";

            echo "<tr><th>Příjmení</th><th>Jméno</th><th>Pohlaví</th><th>Skupina</th><th>Vzdělání</th><th>Obec</th><th>Kraj</th></tr>";

            while ($row = mysqli_fetch_array($response))

            {

                echo "<tr><td>$row[prijmeni]</td><td>$row[jmeno]</td><td>$row[pohlavi]</td><td>$row[skupina]</td><td>$row[vzdelani]</td><td>$row[obec]</td><td>$row[kraj]</td></tr>";

            }

            echo "</table></div>";

            //odpojeni od dtb

            mysqli_close($connection);

        }

        else echo "<div class='tabulka'>Vyber způsob řazení.</div>";

    ?>

</body>

</html>

Here is a manual for MySQLi: https://www.php.net/manual/en/book.mysqli.php