ถามเรื่อง jquery กับการส่งค่าหน่อยครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ถามเรื่อง jquery กับการส่งค่าหน่อยครับ

ถามเรื่อง jquery กับการส่งค่าหน่อยครับ

 ไม่รู้ว่าผมเขียนคำสั่งถูกหรือเปล่านะครับพอดีทำระบบให้คะแนนอยู่

$(function(){

$("#score").click(function(){

var score=$("#score").attr("value");

$.post("t.php",

{score:score},

function(data){

$("#Showtext").html(data);

});

});

}); 

ตรงนี้คำไปต่อไม่เป็นว่าจะส่งค่า หรือ ไอดีของผู้ใช้งานนี้เข้าไปยังไง

<a href='#' onclick='$(#score).trigger(click);return false;'><b>ให้พลังน้ำใจ</b></a>

จุดประสงค์ของระบบ คือ มีคลิกแล้วเพิ่ม คะแนนให้ผู้ใช้งานนั้นๆแล้วคะแนนนี้จะไปเก็บไว้อีกตารางหนึ่งครับ

tb_score มีรายละเอียดดังนี้ครับ

id_score เก็บ รหัส PK
ืname_u1 เก็บชื่อ ผู้ได้รับคะแนน
name_u2 เก็บชื่อผู้ให้คะแนน
today เก็บวันที่ ที่ให้คะแนน

ประมาณนี้ครับ พอดีเขียนแล้วศึกษาดัดแปลงจากเว็บนี้ดูแล้วไปต่อไม่เป็นครับ



Cpuhost 05-06-2010 15:25:58

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1

สามารถทำได้หลายวิธี และวิธีที่น่าจะง่ายที่สุด ของ jQuery  คือสร้างฟอร์มส่งข้อมูลตามปกติ และให้กำหนด id ของฟอร์ม ข้อมูลไหนที่ต้องการส่ง และไม่ต้องการแสดงก็ให้ใฃ้ input type=hidden

HTML Code ตัวอย่าง
 

<form id="my_form" name="my_form" method="post" action="">
<input name="my_hidden" type="hidden" id="my_hidden" value="1" />
<input type="text" name="my_textbox" id="my_textbox" />
<input type="button" name="my_send_button" id="my_send_button" value="Send" />
</form>

Javascript Code ตัวอย่าง
 

<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
$(function(){
	$("#my_send_button").click(function(){
		$.post("post_data.php",$("#my_form").serialize());
	});
});
</script>

ส่วนไฟล์รับค่า หรือไฟล์ php ก็กำหนดเงื่อนไขตามปกติ ค่าที่ส่งไป จะเป็นตัวแปร POST ตามตัวอย่างข้างต้น ค่าที่ส่งไป จะเป็น $_POST['my_hidden'] และ $_POST['my_textbox']



ninenik 05-06-2010
 ความคิดเห็นที่ 2

 ขอบคุณมากครับ

ถ้าเป็นแบบ form นั้นผมเข้าใจครับ พอทำได้ แต่ว่าถ้าทำเป็นแบบ ลิงค์โดยไม่ได้มีการส่งค่าแบบ from ครับตรงนี้แหละที่ผมไม่รู้ว่าจะส่งข้อมูลยังไง
ค้าเป็นแบบลิงค์เอาครับ



cpuhost 05-06-2010 22:30
 ความคิดเห็นที่ 3

ถ้าหน้าที่ต้องการส่งค่า มีแค่ชุดข้อมูลเดียวที่ต้องการส่ง หมายถึงมีลิ้งค์สำหรับ ให้คะแนนในหน้านั้นแค่ลิ้งค์เดียว สามารถใช้ตัวอย่าง ตามความเห็นก่อนหน้าไปประยุกต์ใช้งานได้

แต่ถ้าหน้านั้นมีลิ้งค์สำหรับให้คะแนนหลายอัน แนะนำให้ทำเป็นฟังก์ชัน เช่น
 

<script type="text/javascript">
function makeScore(data1,data2){
	var dataSend={
		score:data1,
		id:data2
	}
	$.post("t.php",dataSend,function(data){
		$("#Showtext").html(data);
	});
}
</script>

การส่งค่า

<a href='javascript:makeScore(1,15);'><b>ให้พลังน้ำใจ</b></a>

ไม่รู้ว่าจะเข้าใจไหม.. ลองศึกษาการใช้งานฟังก์ชันใน javascript เพิ่มเติม

https://www.ninenik.com/javascript-manual/function.html#1193137



ninenik 06-06-2010
 ความคิดเห็นที่ 4

ตอนนี้ผมใช้ Framwork ของ jQTouch สําหรับพัฒนาเว็บไซต์บนมือถืออ่ะครับ 
(ไม่ต้องอ่านตัวเลขนะครับผมใส่ไว้เพื่อแบ่งเป็นส่วนๆให้เข้าใจง่ายขึ้นครับ)
โดย1. ในหน้าแรกนั้นเป็น Menu list text แบบคงที่คือแบ่งเป็นหมวดหมู่สินค้า และเมืื่อคลิกเลือกหมวดหมู่แล้ว 2.ก็จะเป็นหน้าถัดไปที่เป็น list รายการสินค้า โดยรายชื่อสินค้าต่างๆนั้นจะทําการดึงข้อมูลจาก Database เป็น Dynamic text list แล้วแต่ละ list นี้ก็จะ link เป็นของตัวเองไปยังหน้าถัดไป 3.เพื่อแสดงสินค้านั้นๆแต่ละรุ่นอ่ะครับ แล้วเมื่อคลิกรุุ่นที่ต้องการแล้ว 4.ก็จะแสดงรายละเอียดเกี่ยวกับรุ่นนั้นๆครับ 

สรุปก็จะมีทั้งหมด 4 หน้าครับ 

ปัญหาของผมอยู่ที่ระหว่างหน้า 2 ไป 3

ติดปัญหาในหน้า 3 ที่จะต้องเชค link product ที่ส่งมาแล้วเชคใน Database ว่าเป็นสินค้าไหนเพื่อที่จะแสดงรุ่นแต่ละรุ่นของสินค้านั้น

โค๊ดในส่วนของหน้าที่สองเพื่อส่งค่าไปให้ jQuery 

<?php include ("../database_connect/dbconect.php");
				$sql = "select * from test_product";
				$result = mysql_query($sql);
				while ($row = mysql_fetch_array($result)) {
	 				print '<li class="arrow"><a href="#'.$row["Link"].'" id="demo">'.$row["Name_Detail"].'</a></li>';
	 				$product = $row["Name"];
				}
			?>

โค๊ดในส่วนของ jQuery ที่นําค่า $product มา

$('a#demo').click(function(){   
                    alert("Mouse Click");   
                    var u_product=<?=$product?>
                    $.post("index.php",checkName(u_product));    
                });  

โค๊ดในหน้าสามรับค่ามาเชคเพื่อ Query ข้อมูลใน Database

<?php include ("../database_connect/dbconect.php");
             function checkName($name){
                echo 1;
				$sql = "select * from test_product_list where Name='$name'";
				$result = mysql_query($sql);
				while ($row = mysql_fetch_array($result)) {
	 				print '<li class="arrow">'.$row["Name_Detail"].'</a></li>';
				}
             }
			?>

ในส่วนของความคิดเห็นที่สามผมไม่เข้าใจโค๊ดบรรทัดนี้อ่ะครับ

  1. $.post("t.php",dataSend,function(data){  
  2.         $("#Showtext").html(data);  
  3.     });  
  4.  

อย่างไรช่วยอธิบายให้หน่อยนะครับหรือ ไม่ถ้าผมส่งค่าผิดหรือมีวิธีการไหนช่วยผมหน่อยนะครับ ขอบคุณครับ

 



Artosung 10-05-2011 09:30
 ความคิดเห็นที่ 5

คือ ตอนนี้ผมก็ต้องการทำลักษณะนี้เหมือนกันครับ เข้ามาเจอเลยอยากถามต่อครับ

แล้วพอเก็บใน database แล้วให้แสดงผลต่อเลยได้ไหมครับแบบไม่ต้องรีเฟรชหน้าจอเลยอ่ะครับ

รบกวนด้วยครับ ผมเซิชดูหลายที่แล้วกระทู้นี้ใกล้เคียงที่สุด ผมadd bookmarkไว้แล้วจะกลับมาดูครับ

ปล.ทำไม่เป็นครับแต่อยากลองทำ



ป๊าง 30-05-2011 00:36
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ