我想實現的是這個功能
目前樹結果已經用PHP產生完成(listhou.php),怎麼才能點這個樹的A標籤不跳轉頁面傳參到另一個PHP頁面(listhou2.php)並取回結果呢?
HTML部分代碼
測試
123321
listhou.php代碼
'.mysqli_connect_error($conn));$query="SELECT * FROM company";$result=mysqli_query($conn, $query); while ($row=mysqli_fetch_assoc($result)) { echo ''; echo ''.$row['c_name'].'
'; echo '
'; $query1="SELECT * FROM department"; $result1=mysqli_query($conn, $query1); while ($row1=mysqli_fetch_assoc($result1)) { if ($row['id']==$row1['d_id']) { echo '
- '.$row1['d_name'].'
'; } } mysqli_free_result($result1); echo '
'; echo ''; } mysqli_free_result($result);?>
listhou2.php代碼
'.mysqli_connect_error($conn)); if (isset($_GET['userid'])) { $row1id=$_GET['userid']; // echo "$row1id"; $query2="SELECT * FROM user WHERE u_id=$row1id"; $result2=mysqli_query($conn,$query2); // echo "我取得ID了"; if (mysqli_num_rows($result2)) { echo '
'; echo "
| 姓名 |
電話 |
"; while ($row2=mysqli_fetch_assoc($result2)) { echo "
| {$row2['username']} |
{$row2['tphone']} |
"; } }else{ echo "
| 沒有查到相關記錄 |
"; } $num=mysqli_num_rows($result2); echo '
| 共取出'.$num.'條資料 |
'; echo '
'; mysqli_free_result($result2); }else{ echo "沒有擷取ID"; } mysqli_close($conn); ?>
回複討論(解決方案)
是放到 裡嗎?
$($(".listshow a").click(function() { $("list2").load($(this).attr("href")); return false;});
1、加上 點擊事件 $($(".listshow a").click(function() {
2、在1的處理方法裡用ajax調用
3、在listhou2.php頁面裡接收值,並處理,(可以傳回值,也可以沒有)
例 :
$.ajax({ type:'get', async : false, url: "{:U('paygoodsAjax')}", data:"ord_id="+ord_id, success: function(msg){ flag= true; //alert(msg) if(msg==1004){ flag= false; $("#jian").html("商品已下架!") $("#jian").css("display",'block'); function times(){ $("#jian").css("display",'none'); clearInterval(timer); } timer=setInterval(times,2500); } else if(msg==1003){ flag= false; $("#jian").html("商品庫存不夠了") $("#jian").css("display",'block'); function times(){ $("#jian").css("display",'none'); clearInterval(timer); } timer=setInterval(times,2500); }else if(msg==1002){ flag= false; $("#jian").html("訂單存在到期促銷商品!") $("#jian").css("display",'block'); function times(){ $("#jian").css("display",'none'); clearInterval(timer); } timer=setInterval(times,3000); } //location.reload(); } }); return flag;
後端處理
//ajax 商品支付前判斷 public function paygoodsAjax(){ $ord_id=I("get.ord_id"); //echo $ord_id; $ordershopids=M("ordershop")->where("order_id = '$ord_id'")->getFields("shop_id"); //var_dump($ordershopids); //判斷商品是否下架或者庫存為0 if($ordershopids){ foreach($ordershopids as $id){ $goodsinfo=M("goodsshop")->where("id = '$id'")->find(); //var_dump(M("goodsshop")->getLastSql()); if($goodsinfo){ if($goodsinfo['is_up']!=1){ echo "1004";exit(); } if($goodsinfo['stock']<=0){ echo "1003";exit(); } }else{ echo "1004";exit(); } } }
是放到 裡嗎?
$($(".listshow a").click(function() { $("list2").load($(this).attr("href")); return false;});
把這個代碼加到頁面後直接就一片空白了啊,是這樣加嗎?
測試
$(".listshow a").click(function() {
$("list2").load($(this).attr("href"));
return false;
});
列表在 listhou.php 產生,所以要寫在
$(".listshow ul").load("listhou.php"); 的回調裡
即
$(".listshow ul").load("listhou.php", {}, function() {
$(".listshow a").click(function() {
$("list2").load($(this).attr("href"));
return false;
});
});
$(".listshow a").click(function() {
$("list2").load($(this).attr("href"));
return false;
});
列表在 listhou.php 產生,所以要寫在
$(".listshow ul").load("listhou.php"); 的回調裡
即
$(".listshow ul").load("listhou.php", {}, function() {
$(".listshow a").click(function() {
$("list2").load($(this).attr("href"));
return false;
});
});
麻煩您再給看看還是不傳參數
'.$row1['d_name'].'
又要是這樣的超鏈
userid 傳不過去?
Title
樓主的代碼的list2前少了一個點,估計載入不出來 OK 謝謝各位 ,解決了