WHILE Schleife und Template Variable

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
vbboard
Mitglied
Beiträge: 239
Registriert: 18.04.2008 14:14
Kontaktdaten:

WHILE Schleife und Template Variable

Beitrag 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
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag 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 :-P
Zuletzt geändert von Miriam am 16.11.2008 18:37, insgesamt 1-mal geändert.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
vbboard
Mitglied
Beiträge: 239
Registriert: 18.04.2008 14:14
Kontaktdaten:

Beitrag 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?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Na klar... Wieso nicht?

Darf ich mal den jetzt aktuellen Code der PHP Datei sehen?

KB:datei
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
vbboard
Mitglied
Beiträge: 239
Registriert: 18.04.2008 14:14
Kontaktdaten:

Beitrag 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,
);
}
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag 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.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
vbboard
Mitglied
Beiträge: 239
Registriert: 18.04.2008 14:14
Kontaktdaten:

Beitrag 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.
Antworten

Zurück zu „Coding & Technik“