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