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 分页类(模仿google)-面试题目解答
Sep 13 PHP
for循环连续求和、九九乘法表代码
Feb 20 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
Aug 22 PHP
php include类文件超时问题处理
Feb 06 PHP
php判断输入是否是纯数字,英文,汉字的方法
Mar 05 PHP
WordPress中用于检索模版的相关PHP函数使用解析
Dec 15 PHP
php动态读取数据清除最右边距的方法
Apr 12 PHP
PHP开发之用微信远程遥控服务器
Jan 25 PHP
Laravel如何使用Redis共享Session
Feb 23 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
Laravel用户授权系统的使用方法示例
Sep 16 PHP
php微信公众号开发之音乐信息
Oct 20 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
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
php中取得文件的后缀名?
2012/02/20 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
jQuery 滑动方法slideDown向下滑动元素
2014/01/16 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
深入浅析jQuery对象$.html
2016/08/22 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
详解升级react-router 4 踩坑指南
2017/08/14 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
TensorFlow如何实现反向传播
2018/02/06 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
python3正则模块re的使用方法详解
2020/02/11 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
python如何处理程序无法打开
2020/06/16 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
手术室护士长竞聘书
2014/03/31 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
家长意见书
2015/06/04 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
python析构函数用法及注意事项
2021/06/22 Python
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技
mysql中整数数据类型tinyint详解
2021/12/06 MySQL