Hey guys
I'm trying to build an XML feed from a database with a ginormous table, almost 4k records. I want to use output buffering to get it to spit out the XML but the script still keeps on timing out.
ob_start();
$what = 'j.*, (select description from tb_job_type as jt WHERE jt.jobtype_id = j.job_type_id) as job_type,';
$what .= '(select description from tb_location as l WHERE l.location_id = j.location_id) as location,';
$what .= '(select description from tb_industry as i WHERE i.industry_id = j.industry_id) as industry';
$where = ('' != $SelectedType) ? 'j.job_ad_type="' . $SelectedType .'"' : '';
$process = $db->executeQuery('SELECT ' . $what . ' FROM tb_job_ad as j' . $where);
while($result = mysql_fetch_array($process))
{
$result['job_title_url'] = $form->urlString($result['job_title']);
$result['job_title'] = htmlspecialchars($result['job_title'], ENT_QUOTES, 'UTF-8');
$result['short_description'] = htmlspecialchars($result['short_description'], ENT_QUOTES, 'UTF-8');
$result['full_description'] = htmlspecialchars($result['full_description'], ENT_QUOTES, 'UTF-8');
$result['company_name'] = ucwords(strtolower($result['company_name']));
$tpl->assignToBlock('ITEMS', $result);
}
$cheese = ob_get_contents();
$actualize = $tpl->actualize('FEED');
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-type: text/xml");
echo $actualize;
ob_flush();
print $cheese;
ob_end_clean();
This seems to be the line that makes the script choke:
$tpl->assignToBlock('ITEMS', $result);
Help please?
Thanks
Midiane.