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 > บทความจากสมาชิก > การใช้งาน jQuery Mobile Framework ด้วย PHP กับฐานข้อมูล MySQL Database



 
Clound SSD Virtual Server

การใช้งาน jQuery Mobile Framework ด้วย PHP กับฐานข้อมูล MySQL Database

การใช้งาน jQuery Mobile Framework ด้วย PHP กับฐานข้อมูล MySQL Database ใน jQuery Mobile Framework การเรียกใช้ UI นั้นมีให้เลือกใช้หลายรูปแบบมาก ถ้าหากได้เข้าไปอ่านใน Demo Manual และทำการใช้ Feature หลาย ๆ ตัวจะรู้สึกได้เลยว่ามันช่างเป็น Framework ที่เหมาะสมและลงตัวกับการนำมาใช้บน Smart Phone / Tablets ได้เป็นอย่างดี และการนำไปใช้กับ PHP กับ MySQL นั้นก็ไม่ต่างอะไรกับการเขียนโปรแกรมบน PHP กับ MySQL ในรูปแบบทั่ว ๆ ไปเลย แต่ทั้งนี้อยากให้ลองเข้าไปอ่านหรือดูใน Document หรือ Demo เพราะถ้าเราสามารถเลือกใช้ Feature ที่เหมาะสมกับงาน หรือกับหน้าจอที่ต้องการออกแบบ จะสามารถช่วยให้โปรแกรมของเรานั้นทำงานได้อย่างถูกต้องและเหมาะสม

jQuery Mobile PHP MySQL


ในบทความนี้จะยกตัวอย่างการใช้ PHP กับ MySQL บน jQuery Mobile Framework โดยสมมุติโปรแกรมในนี้มีอยู่ 4 ระบบ คือ

- News (ระบบแสดงข่าวสาร โดยมีการแบ่งเป็นหมวดหมู่ของข่าวสาร)
- Oil Price (สำหรับแสดงราคาน้ำมัน)
- Member (แสดงหน้าจอ Login สำหรับสมาชิก)
- หน้า Page อื่น ๆ ของเว็บ เช่น About Us และ Contact us


ทั้งหมดใช้ MySQL Database ในการจัดเก็บข้อมูล

Download jQuery Mobile Framework


สำหรับพื้นฐาน jQuery Mobile ในการออกแบบสำหรับ Smart Phone / Tablets สามารถอ่านเพิ่มเติมได้ที่บทความนี้

Basic jQuery Mobile เขียนเว็บให้แสดงผลสวย ๆ บน Mobile เช่น iPhone , iPad , Android


โครงสร้างของ Table ใน MySQL

-- 
-- Table structure for table `category`
-- 

CREATE TABLE `category` (
  `CategoryID` int(1) NOT NULL,
  `CategoryName` varchar(30) NOT NULL,
  PRIMARY KEY  (`CategoryID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

-- 
-- Table structure for table `member`
-- 

CREATE TABLE `member` (
  `UserID` int(3) NOT NULL auto_increment,
  `Username` varchar(20) NOT NULL,
  `Password` varchar(20) NOT NULL,
  `Name` varchar(100) NOT NULL,
  `Email` varchar(150) NOT NULL,
  PRIMARY KEY  (`UserID`),
  UNIQUE KEY `Username` (`Username`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

-- 
-- Table structure for table `news`
-- 

CREATE TABLE `news` (
  `NewsID` int(11) NOT NULL auto_increment,
  `NewsDate` datetime NOT NULL,
  `CategoryID` int(1) NOT NULL,
  `Subject` varchar(150) NOT NULL,
  `Details` text NOT NULL,
  PRIMARY KEY  (`NewsID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

-- 
-- Table structure for table `oil`
-- 

CREATE TABLE `oil` (
  `CompID` int(11) NOT NULL auto_increment,
  `CompName` varchar(100) NOT NULL,
  `Logo` varchar(100) NOT NULL,
  `Price` varchar(150) NOT NULL,
  PRIMARY KEY  (`CompID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


- News (ระบบแสดงข่าวสาร โดยมีการแบ่งเป็นหมวดหมู่ของข่าวสาร)

index.php
<!DOCTYPE html> 
<html> 
	<head> 
	<title>ThaiCreate.Com</title> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="theme/jquery.mobile-1.1.0.min.css" />
	<script src="theme/jquery-1.7.1.min.js"></script>
	<script src="theme/jquery.mobile-1.1.0.min.js"></script>
</head> 
<body> 

<div data-role="page">

	<div data-role="header">
		<h1>Welcome</h1>
	</div><!-- /header -->
	
	<br />
	
	<ul data-role="listview" data-inset="true" data-theme="d">
			<li><a href="category.php">News</a></li>
			<li><a href="oil-price.php">Oil price</a></li>
	</ul>
	
	<br />

	<ul data-role="listview" data-inset="true" data-theme="d" data-divider-theme="d">
				<li data-role="list-divider">My</li>
				<li><a href="aboutus.php">About Us</a></li>
				<li><a href="contactus.php">Contact Us</a></li>
	</ul>

	<p><a href="#popup" data-role="button" data-theme="a" data-rel="dialog" data-transition="pop">Login user and password</a></p>



</div><!-- /page -->


<!-- Start of third page: #popup -->
<div data-role="page" id="popup">

	<div data-role="header" data-theme="c">
		<h1>Login</h1>
	</div><!-- /header -->

	<div data-role="content" data-theme="d">	
		<form action="login.php" method="post">
		Username : <input type="text" name="txtUser">
		Password :<input type="password" name="txtPassword">
		<br />
		<input type="submit" value="Login">
		</form>

	</div><!-- /content -->
	
	<div data-role="footer">
		<h4>Security SSL</h4>
	</div><!-- /footer -->
</div><!-- /page popup -->
</body>
</html>


Screenshot

แสดงหน้าแรกหรือหน้าหลักของเว็บไซต์ ประกอบด้วย Menu

- News
- Oil Price
- About Us
- Contact Us
- Login username and password









โดยเมนูเหล่านี้จะสามารถคลิกไปยังส่วนต่าง ๆ ของโปรแกรม

jQuery Mobile PHP MySQL

category.php
<!DOCTYPE html> 
<html> 
	<head> 
	<title>ThaiCreate.Com</title> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="theme/jquery.mobile-1.1.0.min.css" />
	<script src="theme/jquery-1.7.1.min.js"></script>
	<script src="theme/jquery.mobile-1.1.0.min.js"></script>
</head> 
<body> 

<div data-role="page">

	<div data-role="header">
		<a href="index.php" data-icon="home" data-iconpos="notext" data-direction="reverse">Home</a>
		<h1>News</h1>
	</div><!-- /header -->
	
	<br />
	
		<ul data-role="listview" data-inset="true" data-theme="d" data-divider-theme="e">
			<li data-role="list-divider">Category</li>
				<?
				$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
				$objDB = mysql_select_db("mobile");
				$strSQL = " SELECT a.CategoryID,a.CategoryName,COUNT(b.NewsID) As NumNews FROM 
				category a , news b
				WHERE a.CategoryID = b.CategoryID
				GROUP BY a.CategoryID,a.CategoryName
				ORDER BY a.CategoryID ASC ";

				$objQuery = mysql_query($strSQL) or die (mysql_error());
				while($objResult = mysql_fetch_array($objQuery))
				{
				?>
					<li><a href="news.php?CategoryID=<?php echo $objResult["CategoryID"];?>"><?php echo $objResult["CategoryName"];?> <span class="ui-li-count"><?php echo $objResult["NumNews"];?></span></a></li>
				<?
				}
				?>
		</ul>


</div><!-- /page -->

</body>
</html>


Screenshot

หลังจากที่คลิกเมนู News จากหน้าหลัก จะเข้าสู่ Category ของ News

jQuery Mobile PHP MySQL

news.php
<!DOCTYPE html> 
<html> 
	<head> 
	<title>ThaiCreate.Com</title> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="theme/jquery.mobile-1.1.0.min.css" />
	<script src="theme/jquery-1.7.1.min.js"></script>
	<script src="theme/jquery.mobile-1.1.0.min.js"></script>
</head> 
<body> 

<div data-role="page">

			<?
				$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
				$objDB = mysql_select_db("mobile");
				$strSQL = " SELECT * FROM category WHERE CategoryID = '".$_GET["CategoryID"]."' ";

				$objQuery = mysql_query($strSQL) or die (mysql_error());
				$objResult = mysql_fetch_array($objQuery);
			?>
	<div data-role="header">
		<a href="category.php" data-icon="home" data-iconpos="notext" data-direction="reverse">Home</a>
		<h1><?php echo $objResult["CategoryName"];?></h1>
	</div><!-- /header -->
	
	<br />
	
		<ul data-role="listview" data-inset="true" data-theme="d" data-divider-theme="e">
			<li data-role="list-divider"><?php echo $objResult["CategoryName"];?></li>
				<?
				$strSQL2 = " SELECT * FROM news WHERE CategoryID = '".$_GET["CategoryID"]."' ORDER BY NewsDate DESC ";
				$objQuery2 = mysql_query($strSQL2) or die (mysql_error());
				while($objResult2 = mysql_fetch_array($objQuery2))
				{
				?>
					<li><a href="details.php?NewsID=<?php echo $objResult2["NewsID"];?>">
							<h3><?=date("Y-m-d",strtotime($objResult2["NewsDate"]));?></h3>
							<p><?php echo $objResult2["Subject"];?></p>
							<p class="ui-li-aside"><strong><?=date("H:i",strtotime($objResult2["NewsDate"]));?></strong></p>
						</a>
					</li>
				<?
				}
				?>
		</ul>


</div><!-- /page -->

</body>
</html>


Screenshot

แสดงรายละเอียดของข่าวแต่ล่ะหัวข้อหรือ Category

jQuery Mobile PHP MySQL








details.php
<!DOCTYPE html> 
<html> 
	<head> 
	<title>ThaiCreate.Com</title> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="theme/jquery.mobile-1.1.0.min.css" />
	<script src="theme/jquery-1.7.1.min.js"></script>
	<script src="theme/jquery.mobile-1.1.0.min.js"></script>
</head> 
<body> 

<div data-role="page">

	<div data-role="header">
		<a href="javascript:history.back();" data-icon="back" data-iconpos="notext" data-direction="reverse">Back</a>
		<h1>Details</h1>
	</div><!-- /header -->
	
		<?
			$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
			$objDB = mysql_select_db("mobile");
			$strSQL = " SELECT * FROM news WHERE NewsID = '".$_GET["NewsID"]."' ";

			$objQuery = mysql_query($strSQL) or die (mysql_error());
			$objResult = mysql_fetch_array($objQuery);
		?>


			<div class="ui-body ui-body-c">
				<h3><?php echo $objResult["Subject"];?></h3>
				<p><?php echo $objResult["Details"];?></p>
				
					<p class="ui-li-aside"><strong><?=date("Y-m-d",strtotime($objResult["NewsDate"]));?></strong></p>
			</div>

</div><!-- /page -->

</body>
</html>


Screenshot

แสดงรายละเอียดของข่าว

jQuery Mobile PHP MySQL



- Oil Price (สำหรับแสดงราคาน้ำมัน)

oil-price.php
<!DOCTYPE html> 
<html> 
	<head> 
	<title>ThaiCreate.Com</title> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="theme/jquery.mobile-1.1.0.min.css" />
	<script src="theme/jquery-1.7.1.min.js"></script>
	<script src="theme/jquery.mobile-1.1.0.min.js"></script>
</head> 
<body> 

<div data-role="page">

	<div data-role="header">
		<a href="index.php" data-icon="home" data-iconpos="notext" data-direction="reverse">Home</a>
		<h1>Oil Price</h1>
	</div><!-- /header -->

	

			<ul data-role="listview" data-inset="true">
				<center><h4>Update <?=date("Y-m-d")?></h4></center>
				<?
				$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
				$objDB = mysql_select_db("mobile");
				$strSQL = " SELECT * FROM oil ORDER BY CompID ASC ";

				$objQuery = mysql_query($strSQL) or die (mysql_error());
				while($objResult = mysql_fetch_array($objQuery))
				{
				?>
					<li>
						<img src="image/<?php echo $objResult["Logo"];?>" width="60"  height="60" />
						<h3><?php echo $objResult["CompName"];?></h3>
						<p><?php echo $objResult["Price"];?></p>
					</li>
				<?
				}
				?>

			</ul>

</div><!-- /page -->

</body>
</html>


Screenshot

เมื่อคลิกที่เมนู Oil Price จากเมนูหลัก จะแสดงรายการนี้

jQuery Mobile PHP MySQL



- Member (แสดงหน้าจอ Login สำหรับสมาชิก)

login.php
<?
session_start();
?>
<!DOCTYPE html> 
<html> 
	<head> 
	<title>ThaiCreate.Com</title> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="theme/jquery.mobile-1.1.0.min.css" />
	<script src="theme/jquery-1.7.1.min.js"></script>
	<script src="theme/jquery.mobile-1.1.0.min.js"></script>
</head> 
<body> 

<div data-role="page">

	<div data-role="header">
		<a href="index.php" data-icon="back" data-iconpos="notext" data-direction="reverse">Back</a>
		<h1>Login</h1>
	</div><!-- /header -->
	
		<?
			$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
			$objDB = mysql_select_db("mobile");
			$strSQL = " SELECT * FROM member WHERE Username = '".$_POST["txtUser"]."' AND Password = '".$_POST["txtPassword"]."' ";

			$objQuery = mysql_query($strSQL) or die (mysql_error());
			$objResult = mysql_fetch_array($objQuery);
		?>
		<?
		if(!$objResult)
		{
		?>
			<center><h6>Invalid user & password</h6></center>
			<a href="index.php#popup" data-role="button" data-icon="back">Try Again</a>
		<?
		}
		else
		{
			$_SESSION["strUserID"] = $objResult["UserID"];
		?>
			<center><h6>Welcome ... <?php echo $objResult["Name"]?> </h6></center>
			<a href="profile.php" data-role="button" data-icon="star">Go to your profile</a>
		<?
		}
		?>

</div><!-- /page -->

</body>
</html>


Screenshot

คลิกที่ Login username and password จากเมนูหลัก

jQuery Mobile PHP MySQL

จะแสดงหน่าจอ Popup สำหรับ Login

jQuery Mobile PHP MySQL

กรณีที่ Login ไม่ถูกต้อง สามารถคลิกเพื่อทำการ Login ใหม่

jQuery Mobile PHP MySQL

กรณีที่ Login ถูกต้อง


profile.php
<?
session_start();
if($_SESSION["strUserID"] == "")
{
	header("location:index.php");
	exit();
}
?>
<!DOCTYPE html> 
<html> 
	<head> 
	<title>ThaiCreate.Com</title> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="theme/jquery.mobile-1.1.0.min.css" />
	<script src="theme/jquery-1.7.1.min.js"></script>
	<script src="theme/jquery.mobile-1.1.0.min.js"></script>
</head> 
<body> 

<div data-role="page">
	<div data-role="header">
		<a href="index.php" data-icon="back" data-iconpos="notext" data-direction="reverse">Back</a>
		<h1>Profile</h1>
	</div><!-- /header -->
 
 		<?
			$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
			$objDB = mysql_select_db("mobile");
			$strSQL = " SELECT * FROM member WHERE UserID = '".$_SESSION["strUserID"]."' ";

			$objQuery = mysql_query($strSQL) or die (mysql_error());
			$objResult = mysql_fetch_array($objQuery);
		?>
		<div style="padding-left:10px;padding-right:10px">

				<center><h3>Account Information</h3></center>
		
				<div data-role="fieldcontain">
							 <label for="name">Username :</label>
							 <?php echo $objResult["Username"];?>
				</div>

				<div data-role="fieldcontain">
							 <label for="name">Name :</label>
							 <?php echo $objResult["Name"];?>
				</div>

				<div data-role="fieldcontain">
							 <label for="name">Password :</label>
							 <?php echo $objResult["Password"];?>
				</div>

				<div data-role="fieldcontain">
							 <label for="name">Email :</label>
							<?php echo $objResult["Email"];?>
				</div>
	
	</div>

<a href="#AccDialog" data-role="button" data-rel="dialog" data-transition="slideup">Account Option</a>

</div><!-- /page -->
<div data-role="page" id="AccDialog"> 
 
	<div data-role="content"> 
		<a href="logout.php" data-role="button" data-icon="star" data-theme="e">Logout</a>
		<a href="profile.php" data-role="button" data-icon="star" data-theme="b">Cancel</a>
	</div>
	
</div>

</body>
</html>


Screenshot

หลังจากที่คลิก Profile

jQuery Mobile PHP MySQL

แสดงรายละเอียดของ Member หรือสมาชิก

jQuery Mobile PHP MySQL

เมื่อคลิกที่ Account Option ก็จะมี Dailog ให้เลือกว่าจะ Logout หรือ Cancel

logout.php
<?
session_start();
session_destroy();
header("location:index.php");
?>




- หน้า Page อื่น ๆ ของเว็บ เช่น About Us และ Contact us

aboutus.php
<!DOCTYPE html> 
<html> 
	<head> 
	<title>ThaiCreate.Com</title> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="theme/jquery.mobile-1.1.0.min.css" />
	<script src="theme/jquery-1.7.1.min.js"></script>
	<script src="theme/jquery.mobile-1.1.0.min.js"></script>
</head> 
<body> 

<div data-role="page">

	<div data-role="header">
		<a href="javascript:history.back();" data-icon="back" data-iconpos="notext" data-direction="reverse">Back</a>
		<h1>About Us</h1>
	</div><!-- /header -->
	
	<center><h1>Version 1.0</h1></center>
	<center><h4>Mobile Version</h4></center>

	<center><h5>@ CopyRight 2012 (www.ThaiCreate.Com)</h5></center>

</div><!-- /page -->

</body>
</html>


Screenshot

jQuery Mobile PHP MySQL

สำหรับหน้าจอ About Us และ Contact Us จะใช้เพจแบบ Static ธรรมดา

contactus.php
<!DOCTYPE html> 
<html> 
	<head> 
	<title>ThaiCreate.Com</title> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="theme/jquery.mobile-1.1.0.min.css" />
	<script src="theme/jquery-1.7.1.min.js"></script>
	<script src="theme/jquery.mobile-1.1.0.min.js"></script>
</head> 
<body> 

<div data-role="page">

	<div data-role="header">
		<a href="javascript:history.back();" data-icon="back" data-iconpos="notext" data-direction="reverse">Back</a>
		<h1>Contact Us</h1>
	</div><!-- /header -->
	
			<ol data-role="listview" data-inset="true">
				<br />
				<li>Email : [email protected]</li>
				<li>Msn : [email protected]</li>
				<li>Telphone : +66.819876107</li>
				<li>Fax : +66.21978032</li>
				<li>Web : www.thaicreate.com</li>
			</ol>
	

</div><!-- /page -->

</body>
</html>


Screenshot

jQuery Mobile PHP MySQL

Download Code ทั้งหมด
Download!!

สำหรับการใช้งาน Feature อื่น ๆ สามารถอ่านได้ที่




บทความอื่น ๆ ที่เกี่ยวข้อง
Go to : jQuery Mobile เขียนเว็บให้แสดงผลสวย ๆ บน Mobile เช่น iPhone , iPad , Android
Go to : jQuery : Whats a jQuery , jQuery คืออะไร ??
Go to : jQuery : How to use , จะเขียน jQuery จะต้องทำอย่างไร
Go to : jQuery Syntax : jQuery Basic Syntax
Go to : Android Tutorial - สอนเขียน Android OS : พื้นฐานการเขียนโปรแกรมบนภาษา Android เช่น Mobile , SmartPhone , Tablets


   
Share
Bookmark.   

  By : TC Admin
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2012-06-26
  Download : No files
Sponsored Links
ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   







Load balance : Server 03
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 อัตราราคา คลิกที่นี่