Heey,

Ik heb sinds kort het project "Restaurond" over genomen. Nu ben ik bezig met de PDO classes en de functies te verwerken, alleen ik krijg een foutmelding waar ik absoluut niet uit kom. Zouden jullie mij kunnen helpen?

Foutmelding:
Warning: Invalid argument supplied for foreach() in /home/aruter/domains/randomdomein.nl/public_html/rs/includes/classes/restaurants.class.php on line 40


Het script waar de fout zich in bevindt:
<?php
if (!defined("USER_IN"))
{
    header("Location: ../../../index.php");
    die;
}

class restaurants
{
    private $ownerid;
    
    public function __construct ($owner)
    {
        $this->ownerid = $owner;
    }
    
    
    public function takeRestaurantValue ($colname, $restaurantid = "")
    {
        if(!empty($restaurantid))
        {
            $where = " AND id = '" . $restaurantid . "'";
        }
        
        $res = publicSQL::gotosql("query", "SELECT `" . $colname . "` FROM restaurants WHERE owner = '" . $this->ownerid . "'" . $where)->fetch(PDO::FETCH_ASSOC);
        return $res[$colname];
    }
    
    
    public function loadRestaurants ($who)
    {
        return publicSQL::gotosql("query", "SELECT id, name, week_bruto, plaats FROM restaurants WHERE owner = '" . $who . "'");
    }
    
    
    public function mkRestaurantsTable ($restaurants)
    {
        $GLOBALS['tpl']->define("actie", "subcategories/management/my_restaurants_table.tpl");
        $table = false;
        foreach($restaurants as $t)
        {
            $GLOBALS['tpl']->assign("{LOCATIE}", namen_actie::get_city($t['plaats']));
            $GLOBALS['tpl']->assign("{EMPLOYEES}", employee::countEmployees($t['id']));
            $GLOBALS['tpl']->assign("{WEEKOMZET}", groot($t['week_bruto']));
            
            $table .= $GLOBALS['tpl']->fetch($GLOBALS['tpl']->parse("MAIN", "actie"));
        }
        return $table;
    }
}
?>


Alvast bedankt!

Groetjes,
Alex

(Geen online voorbeeld beschikbaar aangezien de rest nog even achter de schermen dient te blijven ;):)
Beste,

Alles werkt, alleen hij haalt nog steeds de results niet op uit de database. Die foreach en de arrays werken...
Sorry voor de eerdere bump, maar zouden jullie me a.u.b kunnen helpen?

Groetjes,
Alex
Toon eens hoe je de classe aanspreekt.

$mijn_restaurant = new restaurants(...);
$mijn_restaurant->...

Wat ik vermoed, is dat je misschien een resource zou proberen gebruiken als array.
$res = publicSQL::gotosql("query" ...

Ik ken publicSQL niet, maar ik vermoed dat die $res een resource is.
Indien dat het geval is, moet je eerst de rijen fetchen.
Persoonlijk vraag ik me af of het verstandig is om zo'n groot project over te nemen wanneer je niet zo veel ervaring hebt met programmeren. Het inroepen van hulp bij een foutieve accolade geeft me niet het meeste vertrouwen om eerlijk te zijn. Heb je vaker gewerkt met OOP?

Reageren