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
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
php Imagick获取图片RGB颜色值
Jul 28 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
php购物车实现方法
Jan 03 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
PHP的消息通信机制测试实例
Nov 10 PHP
PHP中串行化用法示例
Nov 16 PHP
Yii2中简单的场景使用介绍
Jun 02 PHP
PHP实现 APP端微信支付功能
Jun 22 PHP
php用户名的密码加密更安全的方法
Jun 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
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
js如何获取object类型里的键值
2014/02/18 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
weex slider实现滑动底部导航功能
2017/08/28 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
[01:00:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第三场 1月10日
2021/03/11 DOTA
Python中生成器和yield语句的用法详解
2015/04/17 Python
Python多线程爬虫简单示例
2016/03/04 Python
Python的requests网络编程包使用教程
2016/07/11 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
python实现搜索文本文件内容脚本
2018/06/22 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
会计专业自我鉴定范文
2013/10/06 职场文书
物理系毕业生自荐信
2013/11/01 职场文书
保险经纪人求职信
2014/03/11 职场文书
小学毕业寄语大全
2014/04/03 职场文书
小学生作文评语大全
2014/04/21 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
2014年统战工作总结
2014/12/09 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
工作建议书范文
2019/07/08 职场文书
Mysql文件存储图文详解
2021/06/01 MySQL
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python
python多次执行绘制条形图
2022/04/20 Python