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原创论坛
Oct 09 PHP
BBS(php &amp; mysql)完整版(八)
Oct 09 PHP
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
php 仿Comsenz安装效果代码打包提供下载
May 09 PHP
PHP操作XML作为数据库的类
Dec 19 PHP
php生成随机密码的几种方法
Jan 17 PHP
PHP批量生成静态HTML的简单原理和方法
Apr 20 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
Aug 06 PHP
Linux php 中文乱码的快速解决方法
May 13 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
Jan 11 PHP
PHP定义字符串的四种方式详解
Feb 06 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
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
PHP判断IP并转跳到相应城市分站的方法
2015/03/25 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
JavaScript 函数调用规则
2009/09/14 Javascript
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
Python中如何获取类属性的列表
2016/12/26 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
详解Python的三种可变参数
2019/05/08 Python
python的sorted用法详解
2019/06/25 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
Python 实现简单的客户端认证
2020/07/29 Python
在线购买世界上最好的酒:BoozeBud
2018/06/07 全球购物
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
汽车技术服务英文求职信范文
2014/01/02 职场文书
水毁工程实施方案
2014/04/01 职场文书
代收款委托书范本
2014/10/01 职场文书
初中美术教学反思
2016/02/17 职场文书
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技