php smarty中怎样才能把数据库中的内容和相对应的标题循环出来?

php smarty中怎样才能把数据库中的内容和相对应的标题循环出来


慕的地6264312
浏览 874回答 4
4回答

郎朗坤

分析一下,首先,第一个问题:$rs=mysql_fetch_array($query);通过这一句,取得了一条记录!得到一个数组array('id'=>x,'userID'=>'xxx','userPwd'=>'xxx')为何只有一条呢?虽然你查找的是所有的记录,但是mysql_fetch_array在取得第一条记录后,就会停下来,所以你得想个办法让它取的数据后,将指针向下移动,这样才能得到其它的数据!补充:while($arr = mysql_fetch_array($query,MYSQL_ASSOC)){$arrData[] = $arr;}这样一来,所有的数据全放在了$arrData里面!第一个问题解决.第二个问题:你这里的:$arr[]=array("ID"=>$rs['id'],"UserID"=>$rs[''UserID],"UserPwd"=>$rs['UserPwd']);完全是多余的,而且是不正确的!除非你的目的就是取一条记录!这和你提问有点冲突!假设你通过$rs=mysql_fetch_array($query)能取到所有的记录!那么,这些记录在$rs中是一个什么样形式存在呢,是一个多维数组吧!类似:$rs = array(0=>array('id'=>1,'userid'=>'xx','userpwd'=>'xxx'),1=>array('id'=>2,'userid'=>'xx','userpwd'=>'xxx'),2=>array('id'=>3,'userid'=>'xx','userpwd'=>'xxx'));看看你上面取值的时候$arr[] = array("id"=>$rs['id']......);$rs中的有id这个键值吗?完整代码:$sql="select * from user";$query=mysql_query($sql);while($rs=mysql_fetch_array($query,MYSQL_ASSOC)){//这是按你的意思改的,不过个人建议这一部可以省去,直接:$arrData[] = $rs则可;$arr=array("ID"=>$rs['id'],"UserID"=>$rs[''UserID],"UserPwd"=>$rs['UserPwd']);$arrData[] = $arr;}$smarty->assign("rs",$arrData);$smarty->display("index.html")HTML页面{section name=list loop=$rs}ID={$rs[list].ID}-----UserID:{$rs[list].UserID}----UserPwd:{$rs[list].UserPwd}<br/>{sectionelse}无内容输出{/section}

动漫人物

因为你在进行保存的时候(结果集)这里应该是个二维数组你可以function select($sql){ //执行查询操作if($this->db===false){$this->write_log('连接失败,请检查数据库连接!');exit;}$result=array();//mysql_query("set names utf-8");$res=mysql_query($sql);while($arr=mysql_fetch_array($res,MYSQL_ASSOC)){array_push($result,$arr);}//print_r($result);return $result;}你试试这个

DIEA

$rs=mysql_fetch_array($query); 这句是取数据库里面的一条记录,用while循环取出所有记录:while($arr=mysql_fetch_array($res,MYSQL_ASSOC)){array_push($result,$arr);}return $result;
打开App,查看更多内容
随时随地看视频慕课网APP