js用ajax和jison在不同页面的php和html之间互相传值的方法
<script> var id=1;//这个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
- 上一篇 »HTML5 手机端动态适配
- 下一篇 »js,css 和 html 分离,见仁见智