码迷,mamicode.com
首页 > 编程语言 > 详细

在Ajax中将数组转换成字符串

时间:2016-05-17 17:45:32      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:

主页面;

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ajax查表格</title>
<script src="../jquery-1.11.2.min.js">
</script>
</head>

<body>

<div><input type="button" value="显示数据" id="bst"></div>
<table id="xianshi" border="1" cellpadding="0" cellspacing="0" width="100%">

</table>

</body>
<script type="text/javascript">
$(document).ready(function(e) {
	
    $("#bst").click(function(){
		$.ajax({
			url:"ChuLi.php",
			dataType:"TEXT",
			success: function(data){
				
				
				var str="<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td><td>生日</td></tr>";
				 
				var hang=data.split("|"); //拆分每一行的字符串,隔开行
				for(var i=0;i<hang.length;i++)
				{
					var lie=hang[i].split("^"); 
					
					//输出方法一:
					/*str+="<tr><td>"+lie[0]+"</td><td>"+lie[1]+"</td><td>"+lie[2]+"</td><td>"+lie[3]+"</td><td>"+lie[4]+"</td></tr>"; //str+=  拼接字符串*/
					
					 //输出方法二:再套一个循环
					 str+="<tr>";
					 for(var j=0;j<lie.length;j++)
					 {
						 str+="<td>"+lie[j]+"</td>";
						 }
					 str+="</tr>";
					 
					 
					$("#xianshi").html(str);
					
					} 
				
				}
							
			});
	
		})
	
});


</script>
</html>

  

处理页面:

<?php
include ("../DBDA.class.php");
$db=new DBDA();
$sql="select * from info";

//方法一:普通方法直接写:
//$attr=$db->Query($sql);//返回的是数组,要转换成字符串

//因为要以表格返回的是字符串形式,所以需要拆分字符串
//拆分成这样的形式: "p001^张三|p002^李四|p003^王五";

/*$str="";
foreach ($attr as $v)
{
	$str=$str.implode("^",$v); //将每列数据拼接成字符串
	$str=$str."|";//拼接每行
	}*/
//sunstr:截取字符串,获取从字符串s中的第n个位置开始长度为len的字符串
//$str=substr($str,0,strlen($str)-1);//这一步是为了去掉末尾的“|”符号
//echo $str;



//方法二:使用DBDA中封装的方法
echo $db->StrQuery($sql);

  

运行结果显示:

技术分享

 

附1:将Ajax 中数组转换成字符串 封装成类

//Ajax调用返回字符串
	public function StrQuery($sql,$type=1,$db="mydb")
	{
		//造连接对象
		$conn = new MySQLi($this->host,$this->uid,$this->password,$db);
		
		//判断连接是否成功
		!mysqli_connect_error() or die("连接失败!");
		
		//执行SQL语句
		$result = $conn->query($sql);
		
		//判断SQL语句类型
		if($type==1)
		{
			$attr = $result->fetch_all();
			$str = "";
			//如果是查询语句返回字符串
			for($i=0;$i<count($attr);$i++)
			{
				for($j=0;$j<count($attr[$i]);$j++)
				{
					$str = $str.$attr[$i][$j];
					$str = $str."^";
				}
				$str = substr($str,0,strlen($str)-1);
				$str = $str."|";
			}
			$str = substr($str,0,strlen($str)-1);
			
			return $str;
		}
		else
		{
			//如果是其他语句,返回true或false
			if($result)
			{
				return "OK";
			}
			else
			{
				return "NO";
			}
		}
	}

  

附2:在统计函数(count)中,使用StrQuery($sql)比较方便,直接返回字符串

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php

include("../DBDA.php");
$db = new DBDA();

$sql = "select count(*) from Users where Uid = ‘lisi‘";

//$arr = $db->Query($sql);

//echo $arr[0][0]; 

$attr = $db->StrQuery($sql);

echo $attr;

?>

  返回结果为1.

 

在Ajax中将数组转换成字符串

标签:

原文地址:http://www.cnblogs.com/ds-3579/p/5502342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!