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中的Class的几点个人看法
Oct 09 PHP
windows下PHP APACHE MYSQ完整配置
Jan 02 PHP
PHP 常用函数库和一些实用小技巧
Jan 01 PHP
PHP缓存技术的多种方法小结
Aug 14 PHP
php FLEA中二叉树数组的遍历输出
Sep 26 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
May 13 PHP
PHP使用header()输出图片缓存实例
Dec 09 PHP
php导入excel文件到mysql数据库的方法
Jan 14 PHP
php通过文件流方式复制文件的方法
Mar 13 PHP
laravel 出现command not found问题的解决方案
Oct 23 PHP
thinkphp5框架路由原理与用法详解
Feb 11 PHP
PHP7新增函数
Mar 09 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数据饼图效果实现代码
2011/11/23 PHP
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
解析strtr函数的效率问题
2013/06/26 PHP
zf框架的校验器InArray使用示例
2014/03/13 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
python中的代码编码格式转换问题
2015/06/10 Python
Python 中的 else详解
2016/04/23 Python
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
Django 连接sql server数据库的方法
2018/06/30 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
党员个人自我评价
2015/03/03 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
大学生各类奖学金申请书
2019/06/24 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书
python Tkinter的简单入门教程
2021/04/11 Python