Belangrijke functies - Array

Functie mysqli_fetch_array()

De functie mysqli_fetch_array() hebben we al eerder besproken bij het onderdeel over arrays. Als je een query uitvoert en de functie mysqli_fetch_array() gebruikt, krijg je een rij uit de database als array terug. De elementen van deze array zijn de waardes van de verschillende velden van die regel uit de database. Het format van deze functie is:

$row = mysqli_fetch_array($resultaat);

De functie haalt de volgende rij uit het objectresultaat en geeft als terugkeerwaarde false als er geen nieuwe rijen meer zijn. Normaal wordt deze functie gebruikt in een while loop:

          while($row = mysqli_fetch_array($resultaat)) {
               doe iets met die rij;
          }

Elke kolom van een rij wordt benaderd met een array notatie:
De eerste kolom is row["prov_id"]
De tweede kolom is row["provincie"]

Om nu de eerste kolom van alle rijen van de uitkomst van een query in beeld te brengen, gebruik je de volgende code:


         while($row = mysqli_fetch_array($resultaat)) {
              echo $row["prov_id"] . "<br>\n";
         }


We zullen alle tot nu toe behandelde functies eens in een compleet voorbeeld laten zien. Daarin maken we contact met de database Nederland en voeren we een query op deze database uit waarmee we alles uit de tabel provincies selecteren. De gegevens worden oplopend gesorteerd op naam van de provincie. Het resultaat, een tabel, wordt op het scherm afgebeeld.


prov_id provincie hoofdstad bevolking
3 Drenthe Assen 488871
5 Flevoland Lelystad 403280
2 Friesland Leeuwarden 646092
6 Gelderland Arnhem 2031123
1 Groningen Groningen 582649
12 Limburg Maastricht 1115805
11 Noord-Brabant 's-Hertogenbosch 2495107
8 Noord-Holland Haarlem 2775617
4 Overijssel Zwolle 1142360
7 Utrecht Utrecht 1268489
10 Zeeland Middelburg 381182
9 Zuid-Holland Den Haag 3607150


De code hiervoor is:

<!DOCTYPE html>
<html lang="nl">
     <head>
           <title>overzicht provincies</title>
           <meta charset="utf-8">
     </head>
     <body>
           <h3>Een overzicht van alle provincies</h3>
           <table border="1" cellpadding="3">
                 <tr>
                       <th>prov_id</th>
                       <th>provincie</th>
                       <th>hoofdstad</th>
                       <th>bevolking</th>
                 </tr>
                 <?php
                 $verbinding = mysqli_connect("localhost"  "enigma"
                    "enigma1234", "Nederland");


                 $query = "SELECT * FROM provincies ORDER BY provincie";
                 $resultaat = mysqli_query($verbinding, $query);
                 while ($row = mysqli_fetch_array($resultaat)) {
                 ?>
                 <tr>
                       <td><?php echo $row["prov_id"]; ?></td>
                       <td><?php echo $row["provincie"]; ?></td>
                       <td><?php echo $row["hoofdstad"]; ?></td>
                       <td><?php echo $row["bevolking"]; ?></td>
                 </tr>
                 <?php
                 }
                 ?>
           </table>
           <?php
                 mysqli_close($verbinding);
           ?>
     </body>
</html>