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 相关文章推荐
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
PHP 引用是个坏习惯
Mar 12 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
Jun 24 PHP
php实现的漂亮分页方法
Apr 17 PHP
PHP+memcache实现消息队列案例分享
May 21 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
Jul 04 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
Nov 04 PHP
yii2使用gridView实现下拉列表筛选数据
Apr 10 PHP
PHP cURL获取微信公众号access_token的实例
Apr 28 PHP
php数组和链表的区别总结
Sep 20 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 PHP
php使用自带dom扩展进行元素匹配的原理解析
May 29 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 csv操作类代码
2009/12/14 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
jQuery实用技巧必备(上)
2015/11/02 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
vue.js删除动态绑定的radio的指定项
2017/06/02 Javascript
vue+element项目中过滤输入框特殊字符小结
2019/08/07 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
使用Python抓取模板之家的CSS模板
2015/03/16 Python
Python中with及contextlib的用法详解
2017/06/08 Python
机器学习python实战之决策树
2017/11/01 Python
python框架中flask知识点总结
2018/08/17 Python
python读取目录下最新的文件夹方法
2018/12/24 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
python重要函数eval多种用法解析
2020/01/14 Python
Python模块future用法原理详解
2020/01/20 Python
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
联想韩国官网:Lenovo Korea
2018/05/10 全球购物
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
学校司机岗位职责
2013/11/14 职场文书
店长助理岗位职责
2013/12/13 职场文书
写自荐信的注意事项
2014/03/09 职场文书
党校培训自我鉴定范文
2014/03/20 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang
Python办公自动化之教你如何用Python将任意文件转为PDF格式
2021/06/28 Python
Nginx速查手册及常见问题
2022/04/07 Servers