Parse'a mall i while loop

PHP

0 svar · 295 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Trådstart#1

Tjena,

Jag har en mall som laddas in, där värde såsom %FULLNAME% ska ersättas med ett värde från en MySQL databas.

Tanken är sen att mallen i parsad version ska sparas i en array, som sedan skrivs ut på sidan.

Såhär har jag gjort:

$result = mysql_query($query) or die((DEBUG ? "<h2>An error occurred</h2>\n<p>" . mysql_error() . "<br />\n" . $query . "</p>\n" : "<p>An error has occurred, please contact site admin.</p>\n"));
if(!(mysql_num_rows($result) == false)){
	$template_var = array();
	$template_val = array();
	while($res = mysql_fetch_assoc($result)){
		$conn_id[]	 = $res['conn_id'];
		$group_id[]	 = $res['group_id'];
		
		$template_var[] = "%FULLNAME%";
		$template_var[] = "%TITLE%";
		$template_var[] = "%PHONE%";
		$template_var[] = "%EMAIL%";
		$template_var[] = "%PICTURE%";

		$template_val[] = $res['user_firstname'] . " " . $res['user_lastname'];
		$template_val[] = $res['user_title'];
		$template_val[] = $res['user_phone1'] . (strlen($res['user_phone2']) > 0 ? ", " . $res['user_phone2'] : "");
		$template_val[] = $res['user_email'];
		$template_val[] = $res['user_avatar'];
		
		for($i=0;$i<=(sizeof($template_var) - 1);$i++){
			$template = str_replace($template_var[$i], (strlen($template_val[$i]) <= 0 ? "" : $template_val[$i]), $template); 
		}
		$template_parsed[] = $template;
	}
}

Problemet är att samma post visas tre gånger (det är tre olika poster som ska visas för tillfället).

Gissar att jag måste återställa mina array'er på nått sätt, men får inte till det.
Några förslag på vad som kan vara fel?

Tack!

303 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
157 ms — hämta tråd, inlägg och bilagor (db)
142 ms — ändringar (db)