小知识点:
implode("^",$v) 拼数组为字符串,
split/explode("|") 拆字符串为数组;
"你好"->"你"+aa+"好";
例子:要求用ajax实现如下效果
主页代码:
<body> <!--ajax访问数据库返回类型为字符串--> <select id="aa"> </select> </body> </html> <script language="javascript"> $(document).ready(function(e) { $.ajax({ url:"chuli.php", typeData:"TEXT", success:function(data){ //将返回值以数组元素输出 var hang=data.split("|");//根据|拆分字符串为数组,在这里hang可看成二维数组也可看成一维数组 var str=""; for(var k in hang)//foreach遍历数组 { var lie=hang[k].split("^");//k为索引,php中k为数组元素 str=str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>"; } $("#aa").html(str); /*var s=""; for(var i=0;i<hang.length;i++) { var lie=hang[i].split("^"); s=s+"<option value='"+lie[0]+"'>"+lie[1]+"</option>"; } $("#aa").html(s);*///找到jquery对象把s的html元素扔进去,若是text(),只是扔纯文本 } }) }); </script>
处理页面:
<?php include ("../dbda.class.php"); $dx=new DBDA(); $sql="select * from nation"; $attr=$dx->query($sql); //返回字符串 $str=""; foreach($attr as $v)//遍历二维数组为一维数组 { $str=$str.implode("^",$v);//把一维数组每一列元素拼成一行字符串 $str=$str."|"; }//每循环一次就执行一次循环体,这点for循环和foreach遍历数组是想通的。 $str=substr($str,0,strlen($str)-1); echo $str;