ใช้งาน ajax ใน jQuery ดึงข้อมูลจากฐานข้อมูลมาแสดง ใน tooltip
02 May 2010อาศัยการประยุกต์ จากหัวข้อ
http://www.ninenik.com/ประยุกต์_tooltip_มากกว่า_1_ตัวใน_ฟอร์ม_ด้วย_jQuery-277.html
โดยส่วนที่เพิ่มเข้ามา คือการใช้งาน ajax ด้วย jQuery เพิ่มดึงข้อมูลมาแสดง
ตัวอย่างต่อไปนี้คือแนวทาง ภายใต้เงื่อนไขความต้องการ คือ
ต้องการแสดง ข้อมูลสมาชิก เมื่อ เอาเมาส์วางไว้เหนือรูปภาพของสมาชิกนั้นๆ
โดยกำหนด รูปภาพดังนี้
<img src="img/avatar/user.gif" width="50" height="50" title="10" class="userInfo" />
คือ กำหนด ให้มี attribute ชื่อ title เพื่อเก็บ id ของสมาชิก และ class เพื่อใช้สำหรับการแสดง
tooltip
จากนั้นสร้างไฟล์สำหรับแสดงข้อมูลของสมาชิก ที่ดึงข้อมูลจากฐานข้อมูล โดยกำหนดรูปแบบ
การแสดงผล ตามต้องการ ในที่นี้ใช้ชื่อ getUserInfo.php โดยจะทำการรับค่า id ของสมาชิกมา
แล้วไปตรวจสอบในฐานข้อมูล แล้วนำชื่อของสมาชิกนั้นๆ มาแสดง
ซึ่งจะทำงานในรูปแบบ ajax ด้วย jQuery ดังนี้
ตัวอย่าง ไฟล์ getUserInfo.php
<?php
session_start();
header("Content-type:text/html; charset=UTF-8");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// ส่วนของการติดต่อฐานข้อมูล
$link=mysql_connect("localhost","root","test");
mysql_select_db("test");
if($_GET['member_id']!=""){
$q="SELECT member_name FROM member WHERE member_id='".$_GET['member_id']."' ";
$qr=mysql_query($q);
if(@mysql_num_rows($qr)>0){
$rs=mysql_fetch_array($qr);
// กำหนดรูปแบบการแสดงผลตามต้องการ ในที่นี้แสดงแค่ชื่อ
echo $rs['member_name'];
}
}
?>
HTML Code ตัวอย่าง
<img src="img/avatar/user.gif" width="50" height="50" title="10" class="userInfo" /> <!-- ส่วนสำหรับนำข้อมูลมาแสดง --> <span class='iTooltip' id="showUserInfo"></span>
CSS สำหรับกำหนดรูปแบบการแสดงผล
<style type="text/css">
/* css สำหรับกำหนดรูปแบบของกล่องข้อความ Tooltip */
.iTooltip{
position:absolute;
border:1px solid #FFCC66;
background-color:#FFFFCC;
color:#000000;
display:none;
padding:5px;
/* width:200px;*/
font-size:12px;
}
</style>
Javascript Code
<script language="javascript" src="js/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("img.userInfo").hover(function(event){ // img.userInfo คือ แท็ก img ที่มี class เท่ากับ userInfo
var userID=$(this).attr("title"); // id ของสมาชิกที่ตรงในฐานข้อมูล
var dataUser=$.ajax({
url:"getUserInfo.php",
data:"member_id="+userID,
success:function(dataUser){
callTooltip("#showUserInfo",event,dataUser);
}
}).responseText;
},function(){
$("#showUserInfo").hide();
});
});
function callTooltip(obj,event,strText){ // ฟังก์ชั่นแสดงกล่องข้อความ Tooltip
var locateX=event.pageX;
var locateY=event.pageY;
locateX+=10;
locateY+=10;
$(obj).show().css({
left:locateX,
top:locateY
}).html(strText);
}
</script>
บทความคนเข้าอ่านวันนี้
17 Sep 10 กำหนด infowindow ให้กับตัว marker จำนวนมาก ใน google map อ่าน 2932 25 Sep 08 ฟังก์ชั่นเกี่ยวกับ วันที่ เวลา ใน javascript อ่าน 7135 25 Sep 08 ตรวจสอบระดับความปลอดภัยของ รหัสผ่านด้วย Ajax อ่าน 3928 05 Nov 08 CSS สร้างเมนูแนวนอน 2 ชั้นโดยไม่ใช้ javascript และตาราง table อ่าน 10257 09 Jul 10 เพิ่มความเร็ว ให้กับการ cache ด้วย jquery ajax และ php cache class อ่าน 2299 02 May 10 ใช้งาน ajax ใน jQuery ดึงข้อมูลจากฐานข้อมูลมาแสดง ใน tooltip อ่าน 5973 06 Mar 11 แนะนำ ปลั๊กอิน comment ตัวใหม่ของ facebook อ่าน 3274 08 Oct 10 การอัพเดท สถานะบน facebook อัตโนมัติ แบบ graph api ด้วย php sdk อ่าน 3534 04 Oct 10 รู้จัก และใช้งาน php sdk สำหรับ facebook เพิ่มขึ้น อ่าน 2856
