Ajax PHP 边学边练 之三 数据库


Posted in PHP onNovember 26, 2009

本篇将继续通过该实例讲解与数据库的交互方式。实例中用到的是MySQL,也可以根据自己的需要替换为其他数据库,其连接方式可以参考PHP相关手册。

在下面源程序包中dbconnector.php 提供了与MySQL的连接函数。

<?php 
//定义数据连接变量 
define ("MYSQLHOST", "localhost"); 
define ("MYSQLUSER", "root"); 
define ("MYSQLPASS", "root"); 
define ("MYSQLDB", "test"); function opendatabase(){ 
//连接数据库所在服务器 
$db = mysql_connect (MYSQLHOST,MYSQLUSER,MYSQLPASS); 
try { 
if (!$db){ 
//若无法连接则提示错误 
$exceptionstring = "Error connection to database: <br />"; 
$exceptionstring .= mysql_errno().": ".mysql_error(); 
throw new exception ($exceptionstring); 
} 
else{ 
//连接数据库(test) 
mysql_select_db (MYSQLDB,$db); 
} 
return $db; 
}catch (exception $e){ 
echo $e->getmessage(); 
die(); 
} 
} 
?>

当鼠标放到某个日期上时会调用functions.js中的checkfortasks函数。同时checkfortasks会加载taskchecker.php程序,它会到MySQL中查询该日期下所有的备忘录信息,并将结果返回到页面中。
<?php 
//调用数据库连接程序 
require_once ("dbconnector.php"); 
//连接数据库 
$db = opendatabase(); 
//在MySQL查询备忘录 
$querystr = "SELECT description FROM task WHERE thedate='" . addslashes ($_GET['thedate']) . "'"; 
//执行SQL 
if ($datequery = mysql_query ($querystr)){ 
//判断查询是否有值 
if (mysql_num_rows ($datequery) > 0){ 
?> 
<div style="width: 150px; background: #FFBC37; border-style: solid; border-color: #000000; border-width: 1px;"> 
<div style="padding: 10px;"> 
<?php 
//显示备忘录信息 
while ($datedata = mysql_fetch_array ($datequery)){ 
if (!get_magic_quotes_gpc()){ 
echo stripslashes ($datedata['description']); 
} 
else{ 
echo $datedata['description']; 
} 
} 
?> 
</div> 
</div> 
<?php 
} 
} 
else{ 
//数据库查询错误 
echo mysql_error(); 
} 
//关闭数据库 
mysql_close ($db); 
?>

对于Ajax的使用和上一篇的原理是一样的:1. 通过事件调用Ajax函数;2. 通过函数请求其他PHP程序,PHP程序中可以对数据库之类的数据源进行读、写、改操作;3. 将处理结果加载到事件激发页面。在下图中鼠标放到26号时,Ajax会在MySQL中查询到“Football Match”事件并加载到当前页面。
Ajax PHP 边学边练 之三 数据库 
源代码下载
PHP 相关文章推荐
php 计算两个时间戳相隔的时间的函数(小时)
Dec 18 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
深入解析phpCB批量转换的代码示例
Jun 27 PHP
Drupal7连接多个数据库及常见问题解决
Mar 02 PHP
ThinkPHP表单自动提交验证实例教程
Jul 18 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
php文件系统处理方法小结
May 23 PHP
利用switch语句进行多选一判断的实例代码
Nov 14 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
YII框架中使用memcache的方法详解
Aug 02 PHP
php识别翻转iphone拍摄的颠倒图片
May 17 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 PHP
php 运行效率总结(提示程序速度)
Nov 26 #PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 #PHP
MYSQL 小技巧 -- LAST_INSERT_ID
Nov 24 #PHP
php Memcache 中实现消息队列
Nov 24 #PHP
phplock(php进程锁) v1.0 beta1
Nov 24 #PHP
PHP 进程锁定问题分析研究
Nov 24 #PHP
PHP 递归效率分析
Nov 24 #PHP
You might like
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
2016/05/17 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
javascript &amp;&amp;和||运算法的另类使用技巧
2009/11/28 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
2014/07/18 Javascript
Windows 系统下设置Nodejs NPM全局路径
2016/04/26 NodeJs
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
2017/01/04 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
Python中functools模块的常用函数解析
2016/06/30 Python
python中异常捕获方法详解
2017/03/03 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
《油菜花开了》教学反思
2014/02/22 职场文书
决心书范文
2014/03/11 职场文书
保密承诺书
2014/03/27 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
如何拟写通知正文?
2019/04/02 职场文书
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技