<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