一、如何在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)的更多相关文章

  1. 【JS】jQuery中将数组转换成字符串join()和push()使用

    1.push()将元素依次添加至数组:2.join()将数组转换成字符串,里面可以带参数分隔符,默认[,] <script type = text/javascript> $(docume ...

  2. 将Ajax 中数组转换成字符串 封装成类

    <?php class Ajax{ //ajax调用的方法 //sql是要执行的语句 //$type是SQL语句的类型,0代表增删改,1代表查询 //$db代表要操作的数据 public fun ...

  3. C#字节数组转换成字符串

    C#字节数组转换成字符串 如果还想从 System.String 类中找到方法进行字符串和字节数组之间的转换,恐怕你会失望了.为了进行这样的转换,我们不得不借助另一个类:System.Text.Enc ...

  4. 100怎么变成100.00 || undefined在数字环境下是:NaN || null在数字环境下是0 || 数组的toString()方法把每个元素变成字符串,拼在一起以逗号隔开 || 空数组转换成字符串后是什么?

    100怎么变成100.00?

  5. 怎样把php数组转换成字符串,php implode()

    实例代码 一维数组转换成字符串代码! <?php $arr1=array("shu","zhu","1"); $c=implode(& ...

  6. Java中如何将字符串数组转换成字符串

    如果将“字符串数组”转换成“字符串”,只能通过循环,没有其他方法: public static String getExecSqlString(String str){ StringBuffer sb ...

  7. js冒泡法和数组转换成字符串示例代码

    将数组转换成字符串的方法有很多,讲解下js冒泡法的使用.js代码: //js冒泡法与数据转换为字符串的例子 //整理:www.jbxue.com window.onload = function(){ ...

  8. js 中 json.stringfy()将对象、数组转换成字符串

    json.stringfy()将对象.数组转换成字符串 var student = new Object(); student.name = "Lanny"; student.ag ...

  9. JS - 字符串转换成数组,数组转换成字符串

    1.字符串转换成数组: var arr = "1, 2, 3, 4, 5, 6"; arr.split(","); // ["1",&quo ...

随机推荐

  1. JS对undefined,null,NaN判断

    1.判断undefined: <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) ...

  2. spark 监控--WebUi、Metrics System

    Spark 监控相关的部分有WebUi 及 Metrics System; WebUi用于展示Spark 资源状态.Metrics System 整合的指标信息. Ui相关流程 Spark集群启动之后 ...

  3. QComboBox调用clear函数崩溃的问题

    项目有个需求是这样的: QComboBox需要动态清楚添加Item列表,并且之前设置了QComboBox当前index改变的信号,一旦这个clear调用,当前index就改变,因为一旦改变,信号就发出 ...

  4. SqlMapConfig.xml全局配置文件解析

    一:SqlMapConfig.xml配置文件的内容和配置顺序如下 properties(属性) settings(全局配置参数) typeAiases(类型别名) typeHandlers(类型处理器 ...

  5. HDU_2018——母牛产小牛的问题,递推

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛?   Input 输入数据由多 ...

  6. typedef与define的区别

    1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错.例如:#define PI 3.1415 ...

  7. Onlylady介绍

    Onlylady介绍 Onlylady介绍

  8. C程序设计语言--指针和引用的区别

    在看了一篇文章以后,http://coolshell.cn/articles/7992.html,说的是C和C++之间的缺陷,当然这篇文章说的非常高深了.所以就找了一些资料,分析了这两者的区别 在&l ...

  9. Android笔记(二):从savedIndstanceState发散

    savedIndstanceState savedIndstanceState位于ActivityonCreate(Bundle savedInstanceState)方法的参数中.对这个参数的理解要 ...

  10. (转)关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi

    首先是几个基本概念:1.屏幕尺寸Screen size即显示屏幕的实际大小,按照屏幕的对角线进行测量.为简单起见,Android把所有的屏幕大小分为四种尺寸:小,普通,大,超大(分别对应:small, ...