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,037

HOME > PHP > PHP Forum > PHP JavaScript ดึงข้อมูลจากดาต้าเบสมาสร้าง form แก้ไขข้อมูลไม่ได้ครับ



 

PHP JavaScript ดึงข้อมูลจากดาต้าเบสมาสร้าง form แก้ไขข้อมูลไม่ได้ครับ

 



Topic : 127071



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



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




PHP Javascritp ดึงข้อมูลจาก MySQL มาสร้าง form แก้ไขข้อมูลไม่ได้ครับ ผมต้องการใช้สร้างฟอร์มแก้ไขข้อมูลด้วย javascript โดยเมื่อคลิก link จะมีฟอร์มเด้งขึ้นมาให้แก้ไขข้อมูล

โค้ดแสดงข้อมูลจากดาต้าเบสและฟอร์มแบบนี้ครับ

Code
<?php
	$sql = "SELECT * FROM comment WHERE question_id = $question_id ORDER BY id DESC";
	$r1 = mysqli_query($link, $sql);
	while($cm = mysqli_fetch_array($r1)) {

		$comment_id = $cm['id'];

		echo '<section class="section-comment">';
		echo '<span class="commentator">' .$cm['user_id'] . '</span>';
		echo $cm['detail'];

		echo '<span class="date-comment">'. thai_date($cm['date_post'], true);
		echo '<span class="reply-alert">';

		echo '<a href="#" class="edit-comment" edit-id="'.$comment_id.'">แก้ไข</a>';
	
		echo $comment_id;  //ตรงนี้สามารถแสดงตัวเลขได้ถูกต้อง
	
		?>
        
        <div id="form-edit-dialog">

<form id="form-edit" method="post">

    <input type="text" name="user_id" value="<?php echo $user_id ?>" readonly > <br> 
    
    <input type="text" name="id" value="<?php echo $comment_id ?>" readonly > <br>  //ตรงนี้ใส่ไว้เพื่อเช็คว่า id ที่ต้องการแก้ไขถูกต้องหรือไม่ แต่พอปิดฟอร์มแล้วเปิดใหม่ตัวเลขจะเปลี่ยนไปเรื่อยๆจากมากไปน้อย
    
    <textarea name="detail" placeholder="ความคิดเห็น *"></textarea><br>
    
    <button type="submit" id="submit-edit">ส่งข้อมูล</button>
    
    <input type="hidden" name="comment_id" id="comment-id">
 
</form>
</div>
}


โค้ด Javascript แบบนี้ครับ

Code
$(function() {
	$('a.edit-comment').click(function(event) {   //เมื่อคลิกลิงค์ "แสดงความคิดเห็น"
		$('#form-edit')[0].reset();
	
		 //ปกติการคลิก <a> ทำให้เปลี่ยนหน้า และ scrollbar เลื่อนไปอยู่บนสุด
		 //จึงล็อก scrollbar ไม่ให้เลื่อน โดยการยกเลิกกระทำที่เป็นดีฟอลต์ของ <a>
		event.preventDefault();
		
		var t = "แก้ไขความคิดเห็น";

		$('#form-edit-dialog').dialog({
			width: '600px',
			title: t,
			modal: true,
			position: { my: "center", at: "center", of: window}  	//เป็นค่า default อยู่แล้ว
		});
		
		//กำหนดค่าให้แก่อิลิเมนต์ชนิด hidden ทั้งสองอัน
		$('#comment-id').val($(this).attr('edit-id'));
		
	});

	
	$('#submit-edit').click(function() { 
	
		$('form#form-edit').ajaxForm({
			url: 'save-edit.php',
			type: 'post',
			dataType: 'script',
			beforeSend: function() {
				$.blockUI({message:'<h3>กำลังส่งข้อมูล...</h3>'});
			}, 
			complete: function() {
	
				$.unblockUI();
			}
		});	
	});
});


เมื่อเปิดหน้าเว็บจะ list ข้อความ comment ดึงออกมาจากดาต้าเบสและแสดง comment_id แต่ละแถวได้ถูกต้อง ซึ่งข้อความที่แสดงแต่ละแถวจะมี link แก้ไข ถ้าคลิก link มันจะมีฟอร์มเด้งขึ้นมาซึ่งตรงฟอร์มที่ <input type="text" name="id" value="<?php echo $comment_id ?>" readonly > มันจะแสดงตัวเลข comment_id ครับแต่ตัวเลขไม่ถูกต้อง ถ้าหากปิดฟอร์มแล้วคลิก link แสดงฟอร์มอีกครั้งตัวเลข comment_id จะลดเรื่อยๆ และถ้าเอา form ไว้ใต้ } ของ while ตัวเลข comment_id จะเป็นค่าน้อยที่สุดครับ

ไม่ทราบว่ามีวิธีแก้ให้ตัวเลข comment_id เป็นค่าที่ถูกต้องเมื่อใช้งานกับ javascript มั๊ยครับ หรือ edit ฟอร์มกับ javascript ไม่ต้องเปิดในหน้าใหม่อย่างเดียวเลยไหมครับ



Tag : PHP, JavaScript, Ajax, jQuery









ประวัติการแก้ไข
2017-04-04 01:22:38
2017-04-04 01:22:56
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-04-04 01:20:48 By : mmc01 View : 2347 Reply : 1
 

 

No. 1



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


ลองเอา <form id="form-edit" method="post"> ออกไปอยู่นอกลูป while ครับ...
ให้มันลูปข้อมูลเฉพาะบรรทัด 25-33 พอครับ
ตอนนี้ที่มองคร่าวๆ เกิดฟอร์มที่ id ซ้ำกันจากการลูป while การทำงานของ jquery อาจจะรวน






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-04 09:44:02 By : apisitp
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : PHP JavaScript ดึงข้อมูลจากดาต้าเบสมาสร้าง form แก้ไขข้อมูลไม่ได้ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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