在Ajax中将数组转换成字符串(0517-am)
一、如何在Ajax中将数组转换成字符串
1. 主页面;
<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>
2. 处理页面:
<?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);
3. 运行结果显示:

附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.
二、对表格进行进一步操作,增加删除
1.主页面
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ajax查表格</title>
<script src="../jquery-1.11.2.min.js">
</script>
<style>
.sc
{
width:60px;
height:25px;
background-color:#09F;
color:#FFF;
text-align:center;
line-height:25px;
vertical-align:middle; }
.sc:hover
{
cursor:pointer;
background-color:#FF6B24;
}
</style>
</head> <body> <div><input type="button" value="显示数据" id="bst"></div><br />
<table id="xianshi" border="1" cellpadding="0" cellspacing="0" width="100%"> </table> </body>
<script type="text/javascript"> $("#bst").click(function(){ ShowAll();
BindCK();
}) //点击删除
function BindCK()
{ $(".sc").click(function(){
//根据属性找到删除数据的主键值
var code=$(this).attr("bs");
$.ajax({
url:"Delete.php",
data:{code:code},
type:"POST",
dataType:"TEXT",
success: function(data){
//trim()去除空格
if(data.trim()=="OK")
{
//删除成功后显示删除后的表格信息(在不刷新页面的情况下)
ShowAll();
BindCK();
}
else
{
alert ("删除失败!");
}
}
});
})
} //显示数据表格
function ShowAll(){ $.ajax({
async:false,
url:"ChuLi.php",
dataType:"TEXT",
success: function(data){ var str="<tr><td>代号</td><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>";
for(var j=0;j<lie.length;j++)
{
str+="<td>"+lie[j]+"</td>";
}
//要删除数据要有对应的主键值,自定义属性“bs”,使其为主键值。可再设置div的样式
str+="<td><div class='sc' bs='"+lie[0]+"'>删除</div></td>";
str+="</tr>"; }
$("#xianshi").html(str);
} });
}
</script>
</html>
2.处理页面
<?php
$code=$_POST["code"];
include ("../DBDA.class.php");
$db=new DBDA();
$sql="delete from Info where code='{$code}'";
$r=$db->Query($sql,1);//1为增删改;0为查询
if($r)
{
echo "OK";
}
else
{
echo "NO";
}
3.显示 运行结果:

在Ajax中将数组转换成字符串(0517-am)的更多相关文章
- 【JS】jQuery中将数组转换成字符串join()和push()使用
1.push()将元素依次添加至数组:2.join()将数组转换成字符串,里面可以带参数分隔符,默认[,] <script type = text/javascript> $(docume ...
- 将Ajax 中数组转换成字符串 封装成类
<?php class Ajax{ //ajax调用的方法 //sql是要执行的语句 //$type是SQL语句的类型,0代表增删改,1代表查询 //$db代表要操作的数据 public fun ...
- C#字节数组转换成字符串
C#字节数组转换成字符串 如果还想从 System.String 类中找到方法进行字符串和字节数组之间的转换,恐怕你会失望了.为了进行这样的转换,我们不得不借助另一个类:System.Text.Enc ...
- 100怎么变成100.00 || undefined在数字环境下是:NaN || null在数字环境下是0 || 数组的toString()方法把每个元素变成字符串,拼在一起以逗号隔开 || 空数组转换成字符串后是什么?
100怎么变成100.00?
- 怎样把php数组转换成字符串,php implode()
实例代码 一维数组转换成字符串代码! <?php $arr1=array("shu","zhu","1"); $c=implode(& ...
- Java中如何将字符串数组转换成字符串
如果将“字符串数组”转换成“字符串”,只能通过循环,没有其他方法: public static String getExecSqlString(String str){ StringBuffer sb ...
- js冒泡法和数组转换成字符串示例代码
将数组转换成字符串的方法有很多,讲解下js冒泡法的使用.js代码: //js冒泡法与数据转换为字符串的例子 //整理:www.jbxue.com window.onload = function(){ ...
- js 中 json.stringfy()将对象、数组转换成字符串
json.stringfy()将对象.数组转换成字符串 var student = new Object(); student.name = "Lanny"; student.ag ...
- JS - 字符串转换成数组,数组转换成字符串
1.字符串转换成数组: var arr = "1, 2, 3, 4, 5, 6"; arr.split(","); // ["1",&quo ...
随机推荐
- Entity Framework with MySQL 学习笔记一(拦截)
参考 : http://msdn.microsoft.com/en-us/data/dn469464.aspx EF 允许我们在发送SQL请求和返回数据时做一些拦截的动作 比如可以自定义写 log , ...
- API认证方法一览
Open api authentication Amazon DigitalOcean Webchat Weibo QQ Amazon Web Services HMAC Hash Message A ...
- google官方提供的下拉刷新控件SwipeRefreshLayout
摘自:http://www.stormzhang.com/android/2014/03/29/android-swiperefreshlayout/ SwipeRefreshLayout Swipe ...
- Android样式的编写格式
<?xml version="1.0" encoding="utf-8"?> <resources> <style name=&q ...
- android 初学: 提示No Launcher activity found!
提示No Launcher activity found! 三步检查: 1 必须有 <category android:name="android.intent.category.LA ...
- Groovy简洁开发,我用到的简洁之处
最近一直在用Groovy开发以前的项目,一边学习一边开发,工具用的是IDEA(欲哭无泪,不熟悉真是搞死人).......由于我做的是服务层,是为公司其它项目做服务支撑的,所以就没有用框架,只有一些se ...
- Android邮件发送详解
转载:http://flysnow.iteye.com/blog/1128354 Android中我为什么发不了邮件???我手机里明明有邮件客户端的,可我为什么不能调用它发送邮件???相信这是很多人会 ...
- hdu 4940 Destroy Transportation system(水过)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4940 Destroy Transportation system Time Limit: 2000/1 ...
- jsPlumb开发入门教程(实现html5拖拽连线)
jsPlumb是一个强大的JavaScript连线库,它可以将html中的元素用箭头.曲线.直线等连接起来,适用于开发Web上的图表.建模工具等.它同时支持jQuery+jQuery UI.MooTo ...
- Cortex-mo指令集
处理器使用的是ARMv6-M Thumb指令集,包括大量的32位的使用Thumb-2技术的指令.表7-22列出了Cortex-M0指令和它们的周期数.周期计数以零等待状态的系统为基准. 表7-22 ...