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

HOME > PHP > PHP Forum > jQuery Flexigrid สามารถนำข้อมูลจาก Oracle มาแสดงได้ไหม?



 

jQuery Flexigrid สามารถนำข้อมูลจาก Oracle มาแสดงได้ไหม?

 



Topic : 099047



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



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




มีโอกาสได้ลองทำตามบทเรียน http://www.tutorialdev.com/jquery/jquery-flexigrid-plugins/ โดยใช้ฐานข้อมูล MySQL ส่งค่าเป็น JSON แล้วนำมาแสดงผลได้ตามปกติ

คิดต่อไปว่าถ้าฐานข้อมูลเป็น Oracle จะสามารถทำเหมือนกันได้ไหม เลยตั้งกระทู้ถามดูครับว่าสามารถทำได้ไหม หา documentation ไม่เจอเลย ช่วยแนะนำทีครับ

ขอบคุณครับ



Tag : PHP, Oracle, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-08-13 14:58:47 By : hardalways View : 1484 Reply : 3
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

ถ้า jQuery มันคนล่ะส่วนกันน่ะครับ จะใช้ Database อะไรก็ได้ครับ เพราะตัวที่ติดต่อกับ Database เป็นหน้าที่ของ php ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-13 15:24:16 By : mr.win
 


 

No. 2



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



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


ไฟล์ที่ Encode ฐานข้อมูลเป็น JSON : data.php
<?
header("Content-type:text/x-json; charset=UTF-8");        
header("Cache-Control: no-store, no-cache, must-revalidate");       
header("Cache-Control: post-check=0, pre-check=0", false); 

// ส่วนการเชื่อมต่อกับฐานข้อมูล
$objConnect = oci_connect("abc","abc123","102.18.222.66:1521/abc");
    
// ส่วนของการกำหนดการรับค่ามากำหนดเงือนไข
$page = $_POST['page']; // รับค่าหน้าที่ต้องการนำมาแสดง
$rp = $_POST['rp']; // รับค่าจำนวนแสดงต่อ 1 หน้า
$sortname = $_POST['sortname']; //  รับค่าเงื่อนไข field ที่ต้องการจัดเรียง
$sortorder = $_POST['sortorder']; // รับค่ารูปแบบการจัดเรียงข้อมูล

// ส่วนการกำหนดค่า กรณีไม่ได้ส่งค่ามา
if (!$sortname) $sortname = 'ID'; // ถ้าไม่ส่งค่ามา กำหนดเป็น ชื่อ field ในฐานข้อมูลของเรา ที่ต้องการให้เรียงเมื่อไม่ได้กำหนดค่าในหน้า index.php
if (!$sortorder) $sortorder = 'desc'; // ถ้าไม่ส่งรูปแบบการจัดเรียงข้อมูลมา ให้กำหนดเป็น จากมากไปหาน้อย desc
if (!$page) $page = 1; //  ถ้าไม่ได้ส่งหน้าที่ต้องการแสดงมา ให้แสดงหน้าแรก เป็น 1
if (!$rp) $rp = 10; // หากไม่กำหนดรายการที่จะแสดงต่อ 1 หน้ามา ให้กำหนดเป็น 10

// ส่วนสำหรับจัดรูปแบบขอบเขตและเงื่อนไขข้อมูลที่ต้องการแสดง
$start = (($page-1) * $rp);
$limit = "LIMIT $start, $rp";
$sort = "ORDER BY $sortname $sortorder";

// ส่วนหรับหาว่ามีข้อมูลทั้งหมดเท่าไหร่ เก็บในตัวแปร $total
$q = "SELECT ID, NAME, MEMBER FROM INFO WHERE STATUS IN (1,2,3) ";
$qr = oci_parse($objConnect, $q);
$execute = oci_execute ($qr,OCI_DEFAULT);
$total = oci_fetch_all($qr, $execute);
echo $total;
$query = $_POST['query']; //รับค่าที่ค้นหา
$qtype = $_POST['qtype']; //เงื่อนไขที่ส่งมา

$where = "";
if ($query) $where = " WHERE $qtype LIKE '%$query%' ";
// ส่วนสำหรับดึงข้อมูลมาสร้าง json ไฟล์ สำหรับแสดง
$q = "SELECT ID, NAME, MEMBER FROM INFO WHERE STATUS IN (1,2,3) ";
$qr = oci_parse($objConnect, $q);
$execute = oci_execute ($qr,OCI_DEFAULT);
$numrow=oci_num_fields($qr);
if($numrow>0){
$data['page'] = intval($page); // 
$data['total'] = intval($total); //
while ($row = oci_fetch_array($qr)) {
		$rows[] = array(
				"id" => $row['ID'],
				"cell" => array(
					$row['ID']
					,$row['NAME']
					,$row['MEMBER']
				)
			);	
}
}else { // ในกรณีค่าที่ค้นหา ไม่มี ให้คืน ค่า เป็น null ไปทั้งหมด 
     		$rows[] = array(
				"id" => 'null',
				"cell" => array(
					'null'
				    ,'null'
					,'null'
				)
			);		
	
}

$data['rows'] = $rows;
echo json_encode($data);
// เข้ารหัสส่งค่ากับไปเป็น json
exit;

?>


จะได้ค่า JSON ออกมาดังนี้ - data.php :
{"page":1,"total":8186,"rows":[{"id":"830","cell":["830","Bangna","191"]},{"id":"831","cell":["831","BangO","175"]}


แต่พอให้ jQuery นำข้อมูลมาแสดง ค่าที่ Encode ก็ไม่แสดง ตามรูปด้านล่างครับ

snap

หน้าไฟล์หลักที่จะแสดงข้อมูล : index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery FlexiGrid exsample </title>
<!-- นำสคริปต่างๆ เข้ามา -->
<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="js/flexigrid.js"></script>
<script type="text/javascript" src="js/flexigrid.pack.js"></script>
<link href="css/flexigrid.css" rel="stylesheet" type="text/css" />

<!--jquery script-->
<script type="text/javascript">

$(document).ready(function(){

	$("#table").flexigrid({ // กำหนดให้สร้าง data grid ให้กับ แท็ก table ที่มี id=table
			url: 'data.php', // กำหนด url ของไฟล์ที่จะใช้เชื่อมต่อฐานข้อมูลมาแสดง
			dataType: 'json', // กำหนดชนิดของไฟล์ข้อมูลที่ต้องการใช้งานในที่นี้ใช้ json 
			colModel : [  // กำหนดลักษณะการแสดงของคอลัมน์ในตาราง อ่านคำอธิบายด้านล่าง
					{display: 'ลำดับ', name : 'ID', width : 40, sortable : true, align: 'center'},
					{display: 'ชื่อ', name : 'NAME', width : 100, sortable : true, align: 'left'},					{display: 'นามสกุล', name : 'MEMBER', width : 100, sortable : true, align: 'left'},

					     		],
									//		display คือ กำหนด ชื่อข้อความที่ต้องการแสดงหัวข้อคอลัมน์
									//		name คือ ชื่อ field ของตารางในฐานข้อมูลที่สอดคล้องกัน
									//		widh คือ ความกว้างของคอลัมน์ที่ต้องการแสดง หน่วยเป็น pixel (กำหนดแต่ตัวเลข) 
									//		sortable คือ กำหนดว่าคอลัมน์สามารถทำการเรียงข้อมูลได้หรือไม่ ค่า true / false
									//		align คือ กำหนดการจัดตำแหน่งการแสดงข้อมูล ค่า left / center / right
									//		hide คือ กำหนดให้แสดงหรือไม่แสดงคอลัมน์นั้น ค่า true / false (ส่วนเพิ่มเติม กำหนดหรือไม่ก็ได้)
	
			searchitems : [ // ปุ่ม search กำหนดให้ค้นหาจากอะไรได้บ้าง ถ้าต้องการให้ค่า default เป็นอะไร ให้ตั้งค่า isdefault: true
				{display: 'ชื่อ', name : 'NAME', isdefault: true},
				],
            
			sortname: "ID",	 // กำหนดการจัดเรียงเริ่มต้น ว่าต้องการให้เรียงตาม field อะไรในฐานข้อมูล 
			sortorder: "desc",	 // กำหนดเรียกจากมากไปน้อย หรือน้อยไปมาก desc / asc
			usepager: true,	 // กำหนดให้แสดงส่วนการแบ่งหน้าหรือไม่ true / false
			title: 'jQuery Flexigrid plugins',	 // หัวข้อตาราง
			useRp: true, 	// กำหนดให้แสดงการ กำหนดจำนวนรายการแสดงต่อหน้า หรือไม่ true / false
          			 // useRp:true,
			rp: 10, 	// กำหนดจำนวนรายการที่จะแสดงในแต่ละหน้า
			showTableToggleBtn: false,	 // กำหนดให้แสดงปุ่ม ซ่อน / แสดงตารางหรือไม่ true / false
			width: 550, 	// กำหนดความกว้าง
			height: 300  	// กำหนดความสูง
			});   



			
});
</script>

</head>

<body>

<table id="table" style="display:none"></table>

</body>
</html>


ขอคำแนะนำด้วยครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-13 16:13:56 By : hardalways
 

 
json ไม่ขึ้น เหมือนกันครับ ถ้าเป็น mysql ได้ครับ connect oracle ไม่ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-11-16 05:31:52 By : โต้ง
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : jQuery Flexigrid สามารถนำข้อมูลจาก Oracle มาแสดงได้ไหม?
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่