我有个方法从mysql中取出一组数据,可是用while,for,foreach遍历出来的数据都多了,麻烦各位给看一下
1:取结果的方法function queryUserReport ( $userid ) {
$resUserReportList = "" ; $queryUserReport = "Select reportId, userid, reportCheckId, email, createtime, constitutiontype From userreport Where userid = '".$userid."' " ;
//echo "query:".$queryConstiutContent."<br>"; $resUserReportList = $this->user_db->querySQL ( $queryUserReport ) ;
if ($resUserReportList){
$resUserReportList = $this->user_db->get_Array($resUserReportList);
//print_r($resConstiutContent);
return $resUserReportList ;
} else {
return $this->user_db->print_last_error(TRUE);
}
$this->user_db->Close() ;
}2:引用mysql的类 function querySQL($sql){
$this->last_query=$sql;
$result=mysql_query($sql);
if (!$result){
$this->last_error=mysql_error();
return FALSE;
}else {
$this->row_count=mysql_num_rows($result);
return $result;
}
}
function get_Array($result){
if (!$result){
$this->last_error="Invalid resource identifier passed to get_Array() function.";
return FALSE;
}else {
$row=mysql_fetch_array($result);
if ($row==FALSE){
$this->last_error=mysql_error();
return FALSE;
}else {
return $row;
}
}
}3:取出的结果Array
(
[0] => 3
[reportId] => 3
[1] => 414
[userid] => 414
[2] => 201209021468
[reportCheckId] => 201209021468
[3] =>
[email] =>
[4] => 2012-02-09 11:30:54
[createtime] => 2012-02-09 11:30:54
[5] => 1
[constitutiontype] => 1
)
4:页面获取数据代码//获取数据
$arrayUserReportList = $dbConstituModel->queryUserReport($_SESSION['userid']);while ( $arrayUserReportList = $arrayUserReportList ){
echo "<tr>";
echo "<td>".$arrayUserReportList['reportId']." </td>";
echo "<td>".$arrayUserReportList['createtime']." </td>";
echo "<td><a href=\"/constest/constitutionreport/myreport_".$arrayUserReportList['reportCheckId'].".html\" target=\"_blcnk\">查看报告</a> </td>";
echo "</tr>";
}
1:取结果的方法function queryUserReport ( $userid ) {
$resUserReportList = "" ; $queryUserReport = "Select reportId, userid, reportCheckId, email, createtime, constitutiontype From userreport Where userid = '".$userid."' " ;
//echo "query:".$queryConstiutContent."<br>"; $resUserReportList = $this->user_db->querySQL ( $queryUserReport ) ;
if ($resUserReportList){
$resUserReportList = $this->user_db->get_Array($resUserReportList);
//print_r($resConstiutContent);
return $resUserReportList ;
} else {
return $this->user_db->print_last_error(TRUE);
}
$this->user_db->Close() ;
}2:引用mysql的类 function querySQL($sql){
$this->last_query=$sql;
$result=mysql_query($sql);
if (!$result){
$this->last_error=mysql_error();
return FALSE;
}else {
$this->row_count=mysql_num_rows($result);
return $result;
}
}
function get_Array($result){
if (!$result){
$this->last_error="Invalid resource identifier passed to get_Array() function.";
return FALSE;
}else {
$row=mysql_fetch_array($result);
if ($row==FALSE){
$this->last_error=mysql_error();
return FALSE;
}else {
return $row;
}
}
}3:取出的结果Array
(
[0] => 3
[reportId] => 3
[1] => 414
[userid] => 414
[2] => 201209021468
[reportCheckId] => 201209021468
[3] =>
[email] =>
[4] => 2012-02-09 11:30:54
[createtime] => 2012-02-09 11:30:54
[5] => 1
[constitutiontype] => 1
)
4:页面获取数据代码//获取数据
$arrayUserReportList = $dbConstituModel->queryUserReport($_SESSION['userid']);while ( $arrayUserReportList = $arrayUserReportList ){
echo "<tr>";
echo "<td>".$arrayUserReportList['reportId']." </td>";
echo "<td>".$arrayUserReportList['createtime']." </td>";
echo "<td><a href=\"/constest/constitutionreport/myreport_".$arrayUserReportList['reportCheckId'].".html\" target=\"_blcnk\">查看报告</a> </td>";
echo "</tr>";
}
这条语句稍作修改即可:
$row=mysql_fetch_array($result,MYSQL_NUM);//或者MYSQL_ASSOC
详细意思参考PHP API文档。
if ( isset($arrayUserReportList) && !empty($arrayUserReportList) ) {
//for($i=0; $i<count($arrayUserReportList); $i++){
//for($i=0; $i<2; $i++){
//foreach( $arrayUserReportList as $key=>$value ) {
while ( $arrayUserReportList = $arrayUserReportList ){
echo "<tr>";
echo "<td>".$arrayUserReportList['reportId']." </td>";
echo "<td>".$arrayUserReportList['createtime']." </td>";
echo "<td><a href=\"/constest/constitutionreport/myreport_".$arrayUserReportList['reportCheckId'].".html\" target=\"_blcnk\">查看报告</a> </td>";
echo "</tr>";
}
} else {
echo "<tr><td colspan=\"3\">您还没有体质测评报告!</td></tr>";
}
?>
改成 for 或 foreach吧
(
[0] => 3
[reportId] => 3
[1] => 414
[userid] => 414
[2] => 201209021468
[reportCheckId] => 201209021468
[3] =>
[email] =>
[4] => 2012-02-09 11:30:54
[createtime] => 2012-02-09 11:30:54
[5] => 1
[constitutiontype] => 1
)
while($rs=mysql_fetch_array($result)){
$row[]=$rs;
}
foreach($arrayUserReportList as $val){
echo "<tr>";
echo "<td>".$val['reportId']." </td>";
echo "<td>".$val['createtime']." </td>";
echo "<td><a href=\"/constest/constitutionreport/myreport_".$val['reportCheckId'].".html\" target=\"_blcnk\">查看报告</a> </td>";
echo "</tr>";
}大概这样
echo "<td>".$arrayUserReportList['reportId']." </td>";
echo "<td>".$arrayUserReportList['createtime']." </td>";
echo "<td><a href=\"/constest/constitutionreport/myreport_".$arrayUserReportList['reportCheckId'].".html\" target=\"_blcnk\">查看报告</a> </td>";
echo "</tr>";