小知识点:
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;