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 中文字符入库或显示乱码问题的解决方法
Apr 12 PHP
php 数组的指针操作实现代码
Feb 08 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
Jul 01 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
php随机取mysql记录方法小结
Dec 27 PHP
PHP计算日期相差天数实例分析
Feb 23 PHP
Laravel 的数据库迁移的方法
Jul 31 PHP
PHP绕过open_basedir限制操作文件的方法
Jun 10 PHP
PHP实现的数据对象映射模式详解
Mar 20 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
Apr 10 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
Apr 13 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
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
Javascript 解疑
2009/11/11 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
2014/01/24 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
bootstrap table小案例
2016/10/21 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
使用jQuery实现页面定时弹出广告效果
2017/08/24 jQuery
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
axios如何取消重复无用的请求详解
2019/12/15 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
使用Python对MySQL数据操作
2017/04/06 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
旅游专业职业生涯规划范文
2014/01/13 职场文书
简历的自我评价
2014/02/03 职场文书
主持词开场白
2014/03/17 职场文书
好的旅游活动方案
2014/08/19 职场文书
秋季运动会开幕词
2015/01/28 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书