Dazzlyz / educom-webshop-database

0 stars 0 forks source link

Datalaag functies (zoals handle_database) zouden geen echo's mogen hebben. #15

Open JeroenHeemskerk opened 2 years ago

JeroenHeemskerk commented 2 years ago

https://github.com/Dazzlyz/educom-webshop-database/blob/300cb48afd4e3fbd409d0fca072a156e9fc5f3cc/handle_database.php#L86 geeft een echo dat er geen resultaten zijn. Data laag functies zouden geen echo's moeten geven, maar een lege array teruggeven als er geen producten zijn. De presentatie laag zal dan testen of de array met producten leeg is en "0 results" kunnen weergeven.

JeroenHeemskerk commented 2 years ago

Als je op regel 77 zet $complete_array = array(); dan zou je heel de if en else weg kunnen laten:


    $result = $conn->query($sql);
    $compete_array = array();
    while($row = $result->fetch_assoc())  // doordat fetch_assoc gelijk NULL teruggeeft als er geen resultaten waren, stapt de functie over deze `while` lus heen.
    {
        $complete_array[] = array('id' => $row['id'], 'name' =>  $row['name'], 'price' => $row['price'], 'filename' => $row['filename']);       
    }
    $conn->close(); // doe de close pas NADAT je alle resultaten eruit hebt gehaald. Als tabellen heel groot zijn wordt de data in brokken opgehaald bij de mysql server en na een `close` kan je niet meer bij het volgende block !!
    return $complete_array;