Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > สอบถามปัญหา ajax รับค่าจาก php แบบไม่มีการ action หรือ กดปุ่มใดๆ


[PHP] สอบถามปัญหา ajax รับค่าจาก php แบบไม่มีการ action หรือ กดปุ่มใดๆ

 
Topic : 132061



โพสกระทู้ ( 63 )
บทความ ( 0 )



สถานะออฟไลน์



ผมได้ประยุกต์จาก code นี้
https://www.webslesson.info/2017/04/inline-edit-data-by-using-x-editable-with-php-and-mysql.html

code PHP แสดงตาราง
Code (PHP)
01.<table class="table table-bordered table-striped">
02.    <thead>
03.     <tr>
04.      <th width="10%">ID</th>
05.      <th width="40%">Name</th>
06.      <th width="10%">Gender</th>
07.      <th width="30%">Designation</th>
08.      <th width="10%">Age</th>
09.     </tr>
10.    </thead>
11.    <tbody id="employee_data">
12.    </tbody>
13.   </table>



อันนี้ ajax ซึ่งจะรับค่าจาก php คือ $_GET['key']) แบบไม่มีการ action หรือ กดปุ่มใดๆ
Code (JavaScript)
01.function fetch_employee_data()
02. {
03.  $.ajax({
04.   url:"fetch.php",
05.   method:"POST",
06.   dataType:"json",
07.   success:function(data)
08.   {
09.    for(var count=0; count<data.length; count++)
10.    {
11.     var html_data = '<tr><td>'+data[count].id+'</td>';
12.     html_data += '<td data-name="name" class="name" data-type="text" data-pk="'+data[count].id+'">'+data[count].name+'</td>';
13.     html_data += '<td data-name="gender" class="gender" data-type="select" data-pk="'+data[count].id+'">'+data[count].gender+'</td>';
14.     html_data += '<td data-name="designation" class="designation" data-type="text" data-pk="'+data[count].id+'">'+data[count].designation+'</td>';
15.     html_data += '<td data-name="age" class="age" data-type="text" data-pk="'+data[count].id+'">'+data[count].age+'</td></tr>';
16.     $('#employee_data').append(html_data);
17.    }
18.   }
19.  })
20. }



อันนี้ code PHP
Code (PHP)
01.<?php
02.//fetch.php
03.$connect = mysqli_connect("localhost", "root", "", "testing");
04.$query = "SELECT * FROM employee WHERE key=$_GET['key']";  <------------เอาค่า   $_GET['key']  มาเป็นเงือนไขตรงนี้
05.$result = mysqli_query($connect, $query);
06.$output = array();
07.while($row = mysqli_fetch_assoc($result))
08.{
09. $output[] = $row;
10.}
11.echo json_encode($output);
12.?>


คำถามก็คือ ผมใช้ Ajax รับค่าจาก php แบบไม่มีการ action หรือกดปุ่ม เพื่อใช้เป็นเงื่อนไขของข้อมูลตาราง
รบกวน เพื่อน พี่ๆ ที่ชำนาญ หน่อยนะครับ



Tag : PHP, JavaScript, Ajax, jQuery, Bootstrap Framework, WampServer

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-09-16 01:05:00 By : Takashi_7 View : 694 Reply : 8
 

 

No. 1



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


ถ้าไม่มีการ action ใดๆแต่ต้องการใช้ function

ที่ html บันทัดสุดท้าย ให้ใส่ script
Code (PHP)
1.<script>
2.setTimeout( ชื่อฟังก์ชั่นที่ต้องการ, xx);
3.// xx = เวลาเป็นวินาทีกะว่า browser render เสร็จแล้ว
4.</script>

แต่แนะนำให้ใช้ event body onload ครับ เพื่อชั่วร์ว่า browser render เสร็จแล้วจริงๆ
Code (PHP)
1.<body onload="ฟังก์ชั่นที่ต้องการ()">
แต่ถ้าใช้ jquery อยู่แล้ว
Code (JavaScript)
1.$(document).ready(()=>{
2.   ฟังก์ชั่นที่ต้องการ();
3.});

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-16 07:45:55 By : Chaidhanan
 

 

No. 2



โพสกระทู้ ( 63 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-09-16 07:45:55
รายละเอียดของการตอบ ::
ลองทำแล้ว Error ตามข้างล่าง

Code (PHP)
1.<body onload="fetch_employee_data('<?php echo $_GET['key']; ?>')">

error1

Code (JavaScript)
1.<script language="javascript">
2.window.onload = fetch_employee_data('c37d695c6f1144abdefa8890a921b8fb');
3.//fetch_employee_data("<?php echo addslashes($_GET['key']); ?>")"
4.</script>

error2


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-16 16:59:13 By : Takashi_7
 

 

No. 3



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


fetch_employee_data( )
function นี้เขียนไว้ที่ไหน


และ tag <body> จะมีอยู่แค่ อันเดียว ทั้งไฟล์ html ครับ ถ้ามีมากกว่านี้ แสดงว่าเขียนผิดไวยกรณ์

<html>
<head>
...
</head>
<body> <<<< ----
....
</body>
</html>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-16 18:13:24 By : Chaidhanan
 

 

No. 4

Guest


ไม่รู้ใช่แบบนี้ไหม
Code (JavaScript)
01.function fetch_employee_data(key)
02. {
03.  $.ajax({
04.   url:"fetch.php?Key="+key,
05.   method:"GET",
06.   dataType:"json",
07.   success:function(data)
08.   {
09.    for(var count=0; count<data.length; count++)
10.    {
11.     var html_data = '<tr><td>'+data[count].id+'</td>';
12.     html_data += '<td data-name="name" class="name" data-type="text" data-pk="'+data[count].id+'">'+data[count].name+'</td>';
13.     html_data += '<td data-name="gender" class="gender" data-type="select" data-pk="'+data[count].id+'">'+data[count].gender+'</td>';
14.     html_data += '<td data-name="designation" class="designation" data-type="text" data-pk="'+data[count].id+'">'+data[count].designation+'</td>';
15.     html_data += '<td data-name="age" class="age" data-type="text" data-pk="'+data[count].id+'">'+data[count].age+'</td></tr>';
16.     $('#employee_data').append(html_data);
17.    }
18.   }
19.  })
20. }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-17 10:50:59 By : ดินทราย
 

 

No. 5



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


การวาง ลำดับการทำงานของโปรแกรม มีความสำคัญอยู่ไม่น้อย
ถ้าเราเรียกใช้ function ก่อนที่มันจะถูกประกาศ ก็จะ error ก็ดูอะไรควรอยู่ต้นไฟล์ อะไรควรอยู่ท้ายไฟล์
หรือการใช้ event เพื่อเรียกใช้งาน ก็จะสามารถจัดลำดับการทำงานได้เป็นอย่างดี

สงสัยทำไมถีงไม่อยากใช้ event ในการทำงาน ทั้งง่ายสดวก ในการวางโปรแกรม ให้เป็นระเบียบและเข้าใจได้ง่าย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-17 11:50:43 By : Chaidhanan
 

 

No. 6

Guest


ลองอ่าน asynchronous เพิ่มเติม
ต่อยอดด้วย ECMAScript ตอนนี้เวอร์ชั่น 2018 แล้วนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-17 17:10:24 By : xman
 

 

No. 7



โพสกระทู้ ( 63 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : ดินทราย เมื่อวันที่ 2018-09-17 10:50:59
รายละเอียดของการตอบ ::
...ขอบคุณสำหรับคำแนะนำนะครับ ใช่เลยครับ แบบนี้เลย แต่ติดที่ว่าตัวที่ action ไม่ได้ใช่ button ในการกด แต่ใช้ <body onload="fetch_employee_data( )"> แทน
ยัง Error ตามรูปเลย


ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-09-17 11:50:43
รายละเอียดของการตอบ ::
...ขอบคุณสำหรับคำแนะนำนะครับ อาจจะต้องไปใช้ action button แทนล่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-19 10:35:22 By : Takashi_7
 

 

No. 8



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


<body onload="fetch_employee_data( key )"> สีแดงไม่ใส่ให้มัน ล่ะครับ

หรือกำหนด default ไว้ที่ function ก็ได้
function fetch_employee_data( key = 'xxx' ){
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-19 10:58:58 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามปัญหา ajax รับค่าจาก php แบบไม่มีการ action หรือ กดปุ่มใดๆ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่