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 相关文章推荐
IStream与TStream之间的相互转换
Aug 01 PHP
PHP chmod 函数与批量修改文件目录权限
May 10 PHP
PHP编码规范之注释和文件结构说明
Jul 09 PHP
PHP中使用数组实现堆栈数据结构的代码
Feb 05 PHP
PHP循环结构实例讲解
Feb 10 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
php通过strpos查找字符串出现位置的方法
Mar 17 PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 PHP
php快速排序原理与实现方法分析
May 26 PHP
php7基于递归实现删除空文件夹的方法示例
Jun 15 PHP
详解php几行代码实现CSV格式文件输出
Jul 01 PHP
php输出反斜杠的实例方法
Sep 19 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
谈谈新手如何学习PHP
2006/12/14 PHP
分页详解 从此分页无忧(PHP+mysql)
2007/11/23 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
Laravel实现autoload方法详解
2017/05/07 PHP
jquery 经典动画菜单效果代码
2010/01/26 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
2016/08/29 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
详解javascript对数组和json数组的操作
2019/04/15 Javascript
js最全的数组的降维5种办法(小结)
2020/04/28 Javascript
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
Python如何快速上手? 快速掌握一门新语言的方法
2017/11/14 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
html5教程画矩形代码分享
2013/12/04 HTML / CSS
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
2014乡镇领导班子四风对照检查材料思想汇报
2014/10/05 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
劳动者解除劳动合同通知书
2015/04/16 职场文书
超市员工辞职信范文
2015/05/12 职场文书
红色故事汇观后感
2015/06/18 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
MySQL之select、distinct、limit的使用
2021/11/11 MySQL