iT邦幫忙

0

php 取html id 變數

1.想請問要怎麼用php取html標籤中的id變數,因為id是變數會一直變
主要是想將<a>標籤的id值送給$ar_val=array('Num'=>
2.想再請問 onclick可以一次啟動兩個副程式嗎?
謝謝

 <?php 
 $sql1="select * from ".changeMonth($yue)." where bdate= :Bdate"; 
 $sql =$conn->prepare($sql1);
 $ar_val=array('Bdate'=>$Y."-".$yue."-".$singleday);             
 if($sql->execute($ar_val)){
   $row =$sql->fetchALL(); }
   foreach($row as $showit){
    echo '<a id="'.$showit['識別碼'].'" onclick="showblock(this)" >';
    echo "<br>•".$showit['timest']." ".$showit['clr']."</a>";
    }
      echo '</div>';      
    	     	   	       
    	    ++$day;	    	
    }
    }    
?>
</div>  
<?php
$sql2="select * from ".changeMonth($yue)." where 識別碼= :Num";
$sql =$conn->prepare($sql2);
$ar_val=array('Num'=>
?>
看更多先前的討論...收起先前的討論...
知道為什麼一直要你學樣板嗎?
這樣你才不會把二種不同特性的語言搞混………
mayyola iT邦研究生 2 級 ‧ 2018-02-22 10:48:20 檢舉
- -真的~我現在有點窒礙難行........我想說等這網頁弄完看能不能重整一次= =好懶..
weiclin iT邦高手 4 級 ‧ 2018-02-22 11:03:34 檢舉
這是專題嗎...?
weiclin iT邦高手 4 級 ‧ 2018-02-22 11:10:21 檢舉
我在想...你是不是要用類似 sql join 的功能?
我在想,你是不是將後端程式當前端程式使用了。
才會卡關了??
mayyola iT邦研究生 2 級 ‧ 2018-02-22 11:49:43 檢舉
不算是專題,寫好玩的給自己用
http://www.ee.nsysu.edu.tw/key/c2.php
現在是想說點字以後,會跳出的小視窗,小視窗的資料是從資料庫帶出來,所以要讀取資料庫的編號(特定某筆資料)- -
不過我發現問完,好像還要考慮別的事情..冏
weiclin iT邦高手 4 級 ‧ 2018-02-22 12:06:04 檢舉
所以你點了小視窗以後再用 ajax 去資料庫取資料如何? 不然你要把整個資料庫的資料都倒在網頁上了?
mayyola iT邦研究生 2 級 ‧ 2018-02-22 12:44:12 檢舉
想請問w大~也是跟之前一樣用同一個ajax嗎? 因為我是想說點到哪裡行字 特定只顯示那行的詳細資料
weiclin iT邦高手 4 級 ‧ 2018-02-22 13:03:31 檢舉
什麼叫做"同一個 ajax"啊...? ajax只有一種, 但你可以用在很多地方, 看不懂你要問什麼
mayyola iT邦研究生 2 級 ‧ 2018-02-22 13:43:03 檢舉
就是ajax可以像副程式一樣,有多個副程式嗎? 謝謝
因為我在表單送出到資料庫使用了ajax 是否讀取資料庫也要再一個ajax
謝謝~~
$.ajax({

type: "POST",
url: "writeback.php",
async:false,
data: {
"namen":namen,
"lab":lab,
"phone":phone,
"bdate":bdate,
"clr":clr,
"thing":thing,
"timest":timest,
"timeov":timeov,
"mdata":mdata
},
error: function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
},
success: function(data) {
$("#cca").fadeOut(4000);
$("#"+bdate).append("<br>"+"•"+timest+" "+clr);
alert('success: '+ data);

},
beforeSend:function(){
$("#cca").show();
$('#exampleModal').modal('hide');

}


});
weiclin iT邦高手 4 級 ‧ 2018-02-22 14:08:13 檢舉
呃? 你在什麼地方看到 ajax 有限制只能用一次或只能用在一個地方的嗎?
mayyola iT邦研究生 2 級 ‧ 2018-02-22 18:05:32 檢舉
w大您好,我剛又新增一個ajax,我要怎麼再success將從資料庫撈的東西顯示在js裡面在讓js去寫到小視窗中..
我先在success:alert('success: '+ data); =>這樣會顯示資料庫的值,但是要如何將值分開,將讀取的值一個一個寫到js變數中..謝謝!
weiclin iT邦高手 4 級 ‧ 2018-02-22 22:09:06 檢舉
那要看你的資料長怎樣啊...
mayyola iT邦研究生 2 級 ‧ 2018-02-22 23:14:41 檢舉
就是能不能將資料庫的值一個一個回傳到ajax的變數裡..好難解釋冏..
weiclin iT邦高手 4 級 ‧ 2018-02-23 00:34:12 檢舉
我想你是該好好學習 JS 了, 猜你大概是要做這個樣子:
https://jsfiddle.net/3p9cbz71/
先看這樣你能不能理解, 我再來加東西
froce iT邦大師 1 級 ‧ 2018-02-23 08:11:26 檢舉
回傳的話,通常會把資料庫的值做序列化,然後傳回 JSON 格式字串,再做解析。
再填入html元素中。

或是利用模板,把 rendering 後的 html code 放入元素中。
mayyola iT邦研究生 2 級 ‧ 2018-02-23 11:28:02 檢舉
f 大~w大謝謝~你的程式看起來太高級- -我再仔細看看..
我剛剛看到這篇..是我想要做的..但是我的console顯示出來沒這麼多東西= =
https://www.youtube.com/watch?v=OtIOxstrhzY
weiclin iT邦高手 4 級 ‧ 2018-02-23 13:18:00 檢舉
我是不覺的那些程式有多高級, 既然你只是寫好玩的, 那應該有時間可以好好研究一下, 另外你貼的那影片, 講者也有參加鐵人賽發表文章, 你可以好好的讀一讀
https://ithelp.ithome.com.tw/users/20083608/profile
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
froce
iT邦大師 1 級 ‧ 2018-02-22 13:23:36

1.server side 除非你送出 request,否則不會知道使用者點擊了什麼。
2.那你要取得的 id 等資訊,就應該由 jQuery/javascript 先取得資訊,然後送出 request 給server。
3.送出 request 的方法,不外乎 submit/ajax,端看你的需求,要用哪種 http method 送。

所以 Sam 大說得好,你真的該去學樣板,學了前後端就不會搞混。

另外都已經用 jQuery 了,應該有更優雅的寫法,不需要把事件寫在網頁元素中。
像這個

<a id="'.$showit['識別碼'].'" onclick="showblock(this)" >

我會改成:

<a id="'.$showit['識別碼'].'" class="WHATYOUWANT" >

$('.WHATYOUWANT').click(function(){
    function1;
    function2;
    ...
};)

這樣也方便你之後利用 CSS 去做分類。你也不會有第2個問題。

看更多先前的回應...收起先前的回應...
mayyola iT邦研究生 2 級 ‧ 2018-02-22 13:48:46 檢舉

f大您好
會寫這樣是因為showblock要讀取id值,因為id是變數我只好這樣寫
因為我不知道要怎麼把id值傳到js副程式,還有不知道為啥我有寫成你改的形式過但程式會跑不出來,所以又只好寫成第一個形式><

froce iT邦大師 1 級 ‧ 2018-02-22 14:01:18 檢舉

1.取得id:

var this_id = $(this).attr('id');

2.如果是經由 javascript 動態產生的 DOM,可能是遇到需要 event delegation 的情形。
https://ithelp.ithome.com.tw/questions/10187408
請看 fillano 大回答我的說明。

force,我覺得其實你應該要這樣講:
使用framework有好有壞,使用前請詳閱公開說明書………(用1秒半唸完)

froce iT邦大師 1 級 ‧ 2018-02-22 15:21:19 檢舉

初學者用框架還是利大於弊啦。
真的要寫出能上檯面,又能有基本安全性的 code,要費的苦心可不少。

只是要慎選框架就是了。

我要發表回答

立即登入回答