webForumDet fria alternativet

Parse'a mall i while loop

0 svar · 293 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 528 inlägg
#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!

Genererad på 382 ms · cache AV · v20260730165559-full.f96bc7eb