【发布时间】:2016-01-19 21:18:45
【问题描述】:
这是我的代码:
$sqlc = "SELECT DISTINCT UserID, OrgID, OrgName, StateID, StateName FROM vw_AgentService WHERE UserID = " . $id . "ORDER BY StateID";
$stmtc = sqlsrv_query( $conn, $sqlc );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
$current_state = null;
while( $rowc = sqlsrv_fetch_array( $stmtc, SQLSRV_FETCH_ASSOC) ) {
if ($rowc["StateID"] != $current_state) {
$current_state = $rowc['StateID'];
echo "<h4>".$rowc['StateName']."</h4>";
}
echo "<p>".$rowc['OrgName']."</p>";
};
我从中提取数据的表中每个组织都有一行,每个组织都包含一列,标识其对应的美国州。输出显示状态一次,然后列出该状态内的所有组织,如下所示:
<h4>Federal (non-State)</h4>
<p>Environmental Protection Agency<p>
<h4>Texas</h4>
<p>Texas Legislature</p>
<p>Texas Commission on Environmental Quality</p>
我想要但还没有弄清楚的是将 State 标题和 Organizations 列表包装在他们自己的 DIV 中,这样我就可以将它们显示为列而不是一直向下的直接列表,像这样:
<div class="StateOrgs">
<h4>Federal (non-State)</h4>
<p>Environmental Protection Agency<p>
</div>
<div class="StateOrgs">
<h4>Texas</h4>
<p>Texas Legislature</p>
<p>Texas Commission on Environmental Quality</p>
</div>
我怎样才能做到这一点?
【问题讨论】:
标签: php arrays while-loop sqlsrv