【发布时间】:2016-05-22 22:22:17
【问题描述】:
我正在尝试使用 php 和 ajax 输出表格。现在我的函数从 1 个表中获取数据,然后迭代该表的行以从不同的表中获取行,然后形成一个表。为了实现这一点,我在 foreach 循环中放置了 while 循环,第一个表中的数据在数组中,所以我使用 forean 对数组进行迭代,然后放入 while 循环。 这导致只有 1 行。需要帮助
public function GetReportData()
{
$status_list = $this->GetStatusList();
foreach ($status_list as $status)
{
$staus_orignal = $status->orignal_status;
$status_site = $status->site_status;
try
{
$db = $this->GetDBHandle();
$start_date = '05/01/2015';
$end_date = '05/02/2015';
$affiliate_id = 0;
$output_string = '';
$output_string .= '<table class="tg">
<tr>
<th class="tg-031e"><span style="color:#fff;">Disposition Type</span></th>
<th class="tg-yw4l"><span style="color:#fff;">Lead Count</span></th>
<th class="tg-yw4l"><span style="color:#fff;">Revenue</span></th>
</tr>';
$query = "exec affiliate_portal_report_data_select $staus_orignal, $affiliate_id,'". $start_date."','". $end_date."'";
$result = odbc_exec ( $db, $query );
if ( !$result )
{
throw new Exception ( 'Error from ' . $query . ': ' . odbc_errormsg() );
}
else
{
while ( odbc_fetch_row ( $result ) )
{
$lead_count = odbc_result( $result, 'leadcount' );
$revenue = odbc_result( $result, 'revenue' );
$output_string .= '<tr>
<td class="tg-yw4l">'.$status_site.'</td>
<td class="tg-yw4l">'.$lead_count.'</td>
<td class="tg-yw4l dollar">'.$revenue.'</td>
</tr>';
}
}
}
catch ( Exception $e )
{
$error_status = $e->getMessage();
print $error_status;
}
}
$output_string .= '</table>';
return $output_string;
}
【问题讨论】:
-
如果你放一个“var_dump(odbc_num_rows ($result));”在 while 循环上方,它说你在 $result 对象中有多少行?
-
看起来你需要在 foreach 循环外部初始化你的
$output_string。
标签: php sql-server foreach while-loop