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 相关文章推荐
在线短消息收发的程序,不用数据库
Oct 09 PHP
PHP开发中常用的8个小技巧
Aug 27 PHP
php 静态化实现代码
Mar 20 PHP
PHP parse_url 一个好用的函数
Oct 03 PHP
晋城吧对DiscuzX进行的前端优化要点
Sep 05 PHP
php中获取关键词及所属来源搜索引擎名称的代码
Feb 15 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
Mar 25 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
Jul 18 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
解决Laravel5.2 Auth认证退出失效的问题
Oct 14 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
Yii调试SQL的常用方法
2014/07/09 PHP
php从字符串创建函数的方法
2015/03/16 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
javascript 函数调用的对象和方法
2010/07/01 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
js自调用匿名函数的三种写法(推荐)
2016/08/19 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
jQuery 防止相同的事件快速重复触发方法
2018/02/08 jQuery
Webpack path与publicPath的区别详解
2018/05/03 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
python 的列表遍历删除实现代码
2020/04/12 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
python 实现任务管理清单案例
2020/04/25 Python
python中zip()函数遍历多个列表方法
2021/02/18 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
html5配合css3实现带提示文字的输入框(摆脱js)
2013/03/08 HTML / CSS
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
英国玛莎百货新西兰:Marks & Spencer New Zealand
2019/07/21 全球购物
老师的检讨书
2014/02/23 职场文书
主管会计岗位职责
2014/03/13 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
centos8安装MongoDB的详细过程
2021/10/24 MongoDB
详解nginx location指令
2022/01/18 Servers