Toon posts:

[PHP] mysql_fetch_array met classen

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Hey,

Ik ben voorhet eerst een beetje bezig met OO php.
nou wil ik graag een aantal categorien uit een database halen:

Ik heb het volgende:

class Database:
code:
1
2
3
4
5
6
7
8
    public static function getQuestionCats(){
        $sql = "SELECT title, sort_idx FROM faq_section";
        $res = mysqli_query(Database::_getConnection(), $sql);
        if(! ($res && mysqli_num_rows($res))) {
            die("<h2>Fout met het ophalen van vraag categorien</h2>");
        }
        return mysqli_fetch_array($res);
    }


class vraagcat
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Vraagcat {
    
    protected $arData = array();
    private $title;
    
    function __construct(){ 
        $arData = Database::getQuestionCats();
        $this->title = $arData['title'];
    
    }
    
    function getTitle(){
        return $this->title;
    }

}


Waar ik het wil printen heb ik het volgende:
code:
1
2
3
foreach($vraag->getTitle() as $cat){
    echo $cat;              
}


Ik krijg het niet werkend om alle categorien te laten zien, ik krijg er maar 1 te zien.. Wie kan me helpen?

Alvast bedankt voor de moeite!

[ Voor 3% gewijzigd door Verwijderd op 05-08-2006 19:10 ]


  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Waar is je return in getQuestionCats() ? ;)

March of the Eagles


Verwijderd

Topicstarter
Ja die return staat er normaal wel. Per ongeluk vergeten mee te tikken. Probleem blijft hetzelfde...

edit hebt de return in de code weer terug gezet

[ Voor 20% gewijzigd door Verwijderd op 05-08-2006 19:10 ]


  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Beetje basic he:

PHP:
1
2
3
4
5
6
7
$cats = array();
while ($row = mysqli_fetch_array($res))
{
   $cats[] = $row;
}

return $cats;

March of the Eagles


Verwijderd

Topicstarter
Helemaal over het hoofd gezien :P thanks

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Je krijgt trouwens een multi dim array terug, dan moet je de rest van je code ook even aanpassen:

PHP:
1
2
3
4
5
6
7
function __construct(){    
    $this->title = Database::getQuestionCats();
}

foreach($vraag->getTitle() as $cat){
    echo $cat['title'];                
}

March of the Eagles


Verwijderd

Topicstarter
Ik krijg de volgende foutmelding:

Warning: Invalid argument supplied for foreach()

volgens mij zou alles goed moeten zijn, ik heb precies gedaan zoals hierboven...

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Even debuggen, doe eens

PHP:
1
2
3
echo '<pre>';
print_r($this->title);
echo '</pre>';


En kijk even naar de output.

March of the Eagles


Verwijderd

Topicstarter
ik had een stom tik foutje :P

bedankt!
Pagina: 1