js用ajax和jison在不同页面的php和html之间互相传值的方法

 <script>
var id=;//这个id必须有,如果是空值,无法实现交互。有点郁闷。。。。
var json;
$.ajax({
url:"../member/wenzhanglishi.php", //这里填上你的php操作页面,即接受js参数的php页面。
type: "POST", //这里和php照应,这里填POST,php中就要用$_POST[]接受!
data:{"jsdata":id}, //传过去的参数,我传过去一个id,接受时php这样写:$data=$_POST["jsdata"];变量名称当然可以更改。
error: function(){ //出错处理
alert('请求超时');
},
success:function(data) //成功后的函数,注意,这里接受php返回的参数!!!!
{

//data里面已经存储了三个数组,分别是会员,文章,和编号,用截取字符串和eval方法把值给取出来
//注意!!由于传参时会进行base64加密,所以你传过去的参数和返回的参数都会很长,如果我们不用json的话,参数就会丢失一部分,因为传递有长度限制!所以我们不得不涉及到一个麻烦的东西json数组
alert(data);
var shuzu=data.split('/');
var bianhao=eval(shuzu[0]);//通过审核的文章编号,从dede_shenhe表里取出
var biaoti=eval(shuzu[1]);//通过审核的文章标题,从dede_shenhe表里取出
var lishi=eval(shuzu[2]);//通过审核的理事会员,从dede_shenhe表里取出

           }
});
</script>

上面是html页面里js的代码,下面是php页面的代码

<?php
require_once(dirname(__FILE__)."/config.php");
$data=$_POST["jsdata"];
$list1=mysql_query("select* from dede_shenhe");
$bianhao=Array();
$biaoti=Array();
$lishi=Array();
while($rows=mysql_fetch_array($list1))
{
$bianhao[]=$rows['aid'];
$biaoti[]=$rows['tittle'];
$lishi[]=$rows['huiyuan'];
}
echo json_encode($bianhao)."/",json_encode($biaoti)."/",json_encode($lishi);这一部分是用json 返回的数据,
/*echo json_encode($biaoti);*/
?>

mysql存储过程的参考代码

drop PROCEDURE CHECK_list;
create PROCEDURE CHECK_list()
begin
create temporary table if not exists tmpTable
(
iid int NOT NULL primary key AUTO_INCREMENT,
id int
); insert into tmpTable(id)
select id from dede_archives b where b.arcrank=-1;
select count(id) into @i from tmpTable; set @m:=1;
CREATE temporary table if not exists temp123 AS select b.tittle,b.huiyuan , mb.*,ms.spacename,ms.sign,
case ISNULL(b.tittle) when 1 THEN 0 ELSE 1 END as flag from dede_member mb
LEFT JOIN dede_member_space ms ON ms.mid = mb.mid
left join dede_shenhe b on mb.uname=b.huiyuan
LIMIT 0; while (@m<=@i) do
insert into temp123
select b.tittle,b.huiyuan , mb.*,ms.spacename,ms.sign,
case ISNULL(b.tittle) when 1 THEN 0 ELSE 1 END as flag from dede_member mb
left join dede_shenhe b on mb.uname=b.huiyuan AND b.aid=(SELECT id from tmpTable where iid=@m)
LEFT JOIN dede_member_space ms ON ms.mid = mb.mid where scores >1000 and mb.mid<>1;
set @m:=@m+1;
end WHILE;
select * from temp123;
TRUNCATE TABLE temp123 ;
truncate TABLE tmpTable;
end

一句查询代码

select b.tittle,b.huiyuan , mb.*,ms.spacename,ms.sign,
case ISNULL(tittle) when 1 THEN 0 ELSE 1 END as flag from dede_member mb
LEFT JOIN dede_member_space ms ON ms.mid = mb.mid
left join dede_shenhe b on mb.uname=b.huiyuan $txt
where scores >1000 and mb.mid<>1

上一篇:angular学习笔记(二十九)-$q服务


下一篇:初尝Windows 下批处理编程