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
模板引擎正则表达式调试小技巧
Jul 20 PHP
php反射应用示例
Feb 25 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 PHP
twig模板获取全局变量的方法
Feb 05 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
PHP将字符串首字母大小写转换的实例
Jan 21 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
Aug 21 PHP
php实现微信公众号企业转账功能
Oct 01 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
Nov 20 PHP
php+ajax实现商品对比功能示例
Apr 13 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 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
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
PHP实现的蚂蚁爬杆路径算法代码
2015/12/03 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
js中widow.open()方法使用详解
2013/07/30 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
6种javascript显示当前系统时间代码
2015/12/01 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
javascript  数组排序与对象排序的实例
2017/07/17 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
2020/11/02 Javascript
numpy中索引和切片详解
2017/12/15 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
html5 sessionStorage会话存储_动力节点Java学院整理
2017/07/06 HTML / CSS
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
建筑学推荐信
2013/11/03 职场文书
银行服务感言
2014/03/01 职场文书
毕业生自荐信格式
2014/03/07 职场文书
请假条格式范文
2014/04/10 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技