Seite 1 von 1
WHILE Schleife und Template Variable
Verfasst: 16.11.2008 13:22
von vbboard
Also ich hab folgendes Problem:
Ich rufe per Mysql befehl daten ab also so : SELECT * FROM Tabellen Name;
nunja jetzt habe ich das porblem das anschließend die Werte in eine while schleife geben werden.
Dies sieht so aus:
Code: Alles auswählen
while($row = mysql_fetch_assoc($result))
{
$forum_domain = "http://".$row['acces_name'].".domain.de";
$zeit = date("d.m.Y - H:i",$row['time_started']);
$daten_ausgabe = '<table class="tabline" width="100%"
<tr>
<td width="33%"><a href="mailto:'.$row['contact_address'].'">'.$row['contact_address'].'</a><br /><br /><b>Datenbank:</b>'.$row['database_id'].'<br /><b>wie oft besucht? </b>'.$row['total_hits'].'<br /><b>IP: </b>'.$row['ip_adress'].'<br /><b>Werbung: </b>an=0 aus=1: <b>'.$row['werbung'].'</b></td>
<td width="33%">[ <a href="'.$forum_domain.'">Forum besuchen</a> ]</td></tr></table><br />';
}
die sache ist das ich das ganze über nen template system ausspucke, dazu ist die varibale:
Code: Alles auswählen
$mfhclass->templ->templ_vars[] = array(
"DATEN_AUSGABE" => $daten_ausgabe,
);
doch dies gibt ja immer nur den letzten wert der while schleife aus, weiß jemand wie ich das so mache das der an das template alle ausgelesenen werte aus der while schleife gibt?
mfg
Verfasst: 16.11.2008 14:27
von Miriam
Dann übergib die Template-Variblen
in der WHILE-Schleife -->
Code: Alles auswählen
$daten_ausgabe = '<table class="tabline" width="100%">';
while($row = mysql_fetch_assoc($result))
{
$forum_domain = "http://".$row['acces_name'].".domain.de";
$zeit = date("d.m.Y - H:i",$row['time_started']);
$daten_ausgabe .= '<tr>
<td width="33%"><a href="mailto:'.$row['contact_address'].'">'.$row['contact_address'].'</a><br /><br /><b>Datenbank:</b>'.$row['database_id'].'<br /><b>wie oft besucht? </b>'.$row['total_hits'].'<br /><b>IP: </b>'.$row['ip_adress'].'<br /><b>Werbung: </b>an=0 aus=1: <b>'.$row['werbung'].'</b></td>
<td width="33%">[ <a href="'.$forum_domain.'">Forum besuchen</a> ]</td></tr>';
}
$daten_ausgabe .= '</table><br />';
Wo ist eigentlich die 3. TD mit 33% hin? Ich seh' nur 2.... Sollten es da nicht besser 50% pro Spalte sein?
//Edit: Oops, hatte ein einfaches Hochkomma vergessen

Verfasst: 16.11.2008 15:29
von vbboard
ja die 3te hab ich weg gemacht aber danke für den typ, werd das mit dem code gleich mal testen.
nein dann gibt er immer noch nur eins aus,
kann dich in der while schleife nicht bei jedem durchgang ne zahl an $daten_ausgabe machen? also das z.b. 1 durchgang: $daten_ausgabe1, 2ter $daten_ausgabe2 u.s.w. steht und ich das später zu einer varibale zusammenfüge?
Verfasst: 16.11.2008 18:17
von Miriam
Na klar... Wieso nicht?
Darf ich mal den jetzt aktuellen Code der PHP Datei sehen?
KB:datei
Verfasst: 16.11.2008 20:03
von vbboard
while($row = mysql_fetch_assoc($result))
{
$forum_domain = "http://".$row['acces_name'].".modded-bb.de";
$zeit = date("d.m.Y - H:i",$row['time_started']);
$daten_ausgabe = '<table class="tabline" width="100%"
<tr>
<td width="33%"><a href="mailto:'.$row['contact_address'].'">'.$row['contact_address'].'</a><br /><br /><b>Datenbank:</b>'.$row['database_id'].'<br /><b>wie oft besucht? </b>'.$row['total_hits'].'<br /><b>IP: </b>'.$row['ip_adress'].'<br /><b>Werbung: </b>an=0 aus=1: <b>'.$row['werbung'].'</b></td>
<td width="33%">[ <a href="'.$forum_domain.'">Forum besuchen</a> ]</td></tr></table><br />';
$mfhclass->templ->templ_vars[] = array(
"DATEN_AUSGABE" => $daten_ausgabe,
);
}
Verfasst: 16.11.2008 20:38
von Miriam
Okay, versuch' es so ->
Code: Alles auswählen
$daten_ausgabe = '<table class="tabline" width="100%">';
while($row = mysql_fetch_assoc($result))
{
$forum_domain = "http://".$row['acces_name'].".modded-bb.de";
$zeit = date("d.m.Y - H:i",$row['time_started']);
$daten_ausgabe .= '<tr><td width="50%"><a href="mailto:'.$row['contact_address'].'">'.$row['contact_address'].'</a><br /><br /><b>Datenbank:</b>'.$row['database_id'].'<br /><b>wie oft besucht? </b>'.$row['total_hits'].'<br /><b>IP: </b>'.$row['ip_adress'].'<br /><b>Werbung: </b>an=0 aus=1: <b>'.$row['werbung'].'</b></td>
<td width="50%">[ <a href="'.$forum_domain.'">Forum besuchen</a> ]</td></tr>';
}
$daten_ausgabe .= '</table><br />';
$mfhclass->templ->templ_vars[] = array("DATEN_AUSGABE" => $daten_ausgabe);
Das ist natürlich nur ein Vorschlag, die eigentliche Idee sollte aber immer dieselbe sein: Die Variable nach und nach mit dem Output der While-Schleife zu füllen.
Du überschreibst den Wert immer wieder mit dem aktuellen der While-Schleife und zum Schluss bleibt natürlich nur der letzte Wert des Schleifendurchlaufes übrig. Das ist der, der angezeigt wird.
Verfasst: 17.11.2008 06:41
von vbboard
danke so funktionierts... schon gut zu wissen das es hier leute gibt die richtig gut php können^^ ich kanns nämhlich nur teilweise.