NA VRH
DOMOV HTML CSS JavaScript jQuery PHP MySQL Python C# Sass WordPress
glave/headings

MySQL Povezava na strežnik Ustvarjanje tabele Vpisovanje podatka Vpisovanje podatkov Izpis zadnje zaporedne številke Database Branje tabele Pripravljene izjave in vezani parametri Izbira podatkov config.php WHERE ORDER BY Izbris podatkov Posodabljanje podatkov Omejitev izbire podatkov

Stavek ORDER BY se uporablja za razvrščanje nabora rezultatov v naraščajočem ali padajočem vrstnem redu. Stavek ORDER BY privzeto razvrsti zapise v naraščajočem vrstnem redu, za padajoči vrstni red pa uporabimo stavek DESC.

Oseba => Borut Bukovnik
Oseba => Peter Cuderman
Oseba => Pastir Cvetko
Oseba => Modri Dirkač
Oseba => Jana Faštrovec
Oseba => Kotlovnik Greben
Oseba => Helena Horvat
Oseba => Borut Jest
Oseba => Peter Klepec
Oseba => Pater Kranjski
Oseba => Janez Kranjski
Oseba => Janez Kranjski
Oseba => Banana njam
Oseba => Metka Pokraculja
Oseba => Mojca Pokraculja
Oseba => Janko Pravljični
Oseba => Renata Rozman
Oseba => Viktor Vladni
Oseba => Petra Vojvoda
Oseba => Zadnji Vpisani
            
    <?php
    include 'config.php';

    $povezava = mysqli_connect ($host, $uporabnik, $geslo, $database);

    if (!$povezava) {
        die("Povezava ni mogoča! " . mysqli_connect_error ());
    }

    $sql = "SELECT firstname, lastname FROM mojaTabela ORDER BY lastname";
    $rezultati = mysqli_query ($povezava, $sql);

    if (mysqli_num_rows ($rezultati) > 0) {
        while ($vrstica = mysqli_fetch_assoc ($rezultati)) {
            echo "Oseba => " . $vrstica["firstname"] . " " . $vrstica["lastname"] . "<br>";
        }
    }   else {
        echo "NI REZULTATOV!";
    }

    mysqli_close ($povezava);
    ?>
            

HTML verzija.

IME PRIIMEK
Borut Bukovnik
Peter Cuderman
Pastir Cvetko
Modri Dirkač
Jana Faštrovec
Kotlovnik Greben
Helena Horvat
Borut Jest
Peter Klepec
Pater Kranjski
Janez Kranjski
Janez Kranjski
Banana njam
Metka Pokraculja
Mojca Pokraculja
Janko Pravljični
Renata Rozman
Viktor Vladni
Petra Vojvoda
Zadnji Vpisani
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>izberi in razdeli</title>
    </head>
    <style>
        table {
            border: 2px double #333333;
        }
        th, td {
            border: 1px solid black;
            background-color: greenyellow;
            color: black;
            padding: 5px;
        }
    </style>
    <body>
    <?php
    include 'config.php';

    $povezava = mysqli_connect ($host, $uporabnik, $geslo, $database);

    if (!$povezava) {
        die("Povezava ni mogoča! " . mysqli_connect_error ());
    }

    $sql = "SELECT firstname, lastname FROM mojaTabela ORDER BY lastname";
    $rezultati = mysqli_query ($povezava, $sql);

    if (mysqli_num_rows ($rezultati) > 0) {
        echo "<table><tr><th>IME</th><th>PRIIMEK</th></tr>";
        while ($vrstica = mysqli_fetch_assoc ($rezultati)) {
            echo "<tr><td>" . $vrstica["firstname"] . "</td><td>" . $vrstica["lastname"] . "</td></tr>";
        }
        echo "</table>";
    }   else {
        echo "NI REZULTATOV!";
    }

    mysqli_close ($povezava);
    ?>
    </body>
    </html>
            

Iz tabele lahko tudi izbrišemo podatke, z uporabo stavka DELETE. Podatke brišemo po id-ju, to je številka vrstice. Kako je tabela sestavljena ali narejena, je najboljše, da si jo izpišemo, in sicer to storimo s pomočjo branja tabel. Ko vidimo podatke samo vnesemo id (zaporedno številko) v kodo.

Preden izbrišemo podatke, si oglejmo obstoječo tabelo, iz katere bomo izbrisali zaporedno številko 14.

Izbris podatkov 1

Oseba je bila izbrisana!

    <?php
    include 'config.php';

    $povezava = mysqli_connect ($host, $uporabnik, $geslo, $database);

    if (!$povezava) {
        die("Povezava ni mogoča! " . mysqli_connect_error ());
    }

    $sql = "DELETE FROM mojaTabela WHERE id=14";

    if (mysqli_query ($povezava, $sql)) {
        echo "Oseba je bila izbrisana!";
    }   else {
        echo "Prišlo je do napake! " . mysqli_error ($povezava);
    }

    mysqli_close ($povezava);
    ?>
            

Prilagam še sliko po izbrisu, kjer vidimo, da številka 14 manjka.

Izbris podatkov 2

Glede na to, da lahko delamo s podatki karkoli želimo, ji seveda lahko tudi posodabljamo, kar storimo s stavkom UPDATE. Zadnji primer tabele je na zgornji sliki.

Sedaj pride koda, ki si jo moramo napisati, za spremembo podatkov. Spremenili bomo priimek id-ja 13 v Programer.

Posodobitev je bila uspešna!

    <?php
    include 'config.php';

    $povezava = mysqli_connect ($host, $uporabnik, $geslo, $database);

    if (!$povezava) {
        die("Povezava ni mogoča! " . mysqli_connect_error ());
    }

    $sql = "UPDATE mojaTabela SET lastname='Programer' WHERE id=13";

    if (mysqli_query ($povezava, $sql)) {
        echo "Posodobitev je bila uspešna!!";
    }   else {
        echo "Prišlo je do napake! " . mysqli_error ($povezava);
    }

    mysqli_close ($povezava);
    ?>
            

Prilagam še sliko spremenjene tabele.

Posodabljanje podatkov

MySQL vsebuje stavek LIMIT, ki se uporablja za določanje števila zapisov. Stavek LIMIT olajša kodiranje večstranskega oštevilčevanja z SQL, in je zelo uporabna pri velikih tabelah. Ko želimo izpis večjega števila podatkov, to lahko vpliva na izvršitev. Lahko si predstavljamo, da želimo vse izpise od 1 do 100 iz tabele, ki smo jo naredili za zaposlene v podjetju. Poizvedba bi bila videti kot

    $sql = "SELECT * FROM zaposleni LIMIT 20";
    

Ko se poizvedba začne, SQL vrne 20 zapisov, kot smo vpisali v kodi, ampak kaj pa če želimo dobiti izpise od delavcev, ki so pod številko 15 do 30? V tem primeru SQL ponuja stavek OFFSET, in napišemo.

    $sql = "SELECT * FROM zaposleni LIMIT 15 OFFSET 30";
    

Lahko uporabimo tudi krajšo sintakso, to je

    $sql = "SELECT * FROM zaposleni LIMIT 15, 30";
    
1 2 3