Problem mit foreach
philippo
- php
Hi @ all
ich habe folgende Klasse geschrieben:
class explorer extends db{
var $type;
var $content;
function explorer ( $type ){
$this->type = $type;
$this->db();
}
function getdata() {
foreach ($this->sql("SELECT name FROM test") as $var) {
$this->content .= '<tr><td width="18"><img src="_backend/_images/explorer_folder.gif"></td>
<td width="250"><a href="admin.php?_file=explorer&_folder='.$var.'">'.$var.'</a></td>
<td width="120">'.$var.'</td>
<td><a href="admin.php?_file=explorer&_folder='.$var.'">'.$var.'</a></td><tr>';
}
}
function render() {
$this->content .= '<table width="100%" border="0" cellspacing="0" cellpadding="7">';
$this->getdata();
$this->content .= '</table>';
}
function show() {
$this->render();
echo $this->content;
}
}
Nun ist mein Problem, das immer nur der erste Datensatz der DB ausgelesen wird. Hat jemand eine Idee, wie ich analle Datensatz komme?
Gruß
philippo
Nun ist mein Problem, das immer nur der erste Datensatz der DB ausgelesen wird. Hat jemand eine Idee, wie ich analle Datensatz komme?
offensichtlich liefert deine methode nur ein element.
die weiteren sätze werden mit fetch abgeholt.
ein muster einer db-klasse bezogen auf entities kannst du dir auf
http://fanelf.de/Dokumentation/Persistenz.htm
ansehen.
function sql($sql) {
if (!$this->erg = mysql_query($sql, $this->connid)) {
echo "Fehler beim Senden der Abfrage.";
}
return mysql_fetch_assoc($this->erg);
}
Meine SQL Funktion
Ahoi philippo,
Meine SQL Funktion
erweitere die mal auf:
function sql($sql)
{
if (!$this->erg = mysql_query($sql, $this->connid))
{
echo "Fehler beim Senden der Abfrage.";
}
while($datensatz = mysql_fetch_assoc($this->erg))
{
$daten[] = $datensatz;
}
return $daten;
}
MfG
echo $begrüßung;
Nun ist mein Problem, das immer nur der erste Datensatz der DB ausgelesen wird. Hat jemand eine Idee, wie ich analle Datensatz komme?
Das kommt ganz drauf an, wie die Klasse db aussieht, von der du ja die eigentliche Datenbankfunktionalität erbst.
echo "$verabschiedung $name";