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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM