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作为Shell脚本语言使用
Oct 09 PHP
PHP新手上路(十一)
Oct 09 PHP
php实现的在线人员函数库
Apr 09 PHP
PHP 面向对象 final类与final方法
May 05 PHP
php中inlcude()性能对比详解
Sep 16 PHP
php从数据库查询结果生成树形列表的方法
Apr 17 PHP
PHP弹出对话框技巧详细解读
Sep 26 PHP
Yii框架连接mongodb数据库的代码
Jul 27 PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 PHP
thinkPHP中配置的读取与C方法详解
Dec 05 PHP
PHP中include和require的区别实例分析
May 07 PHP
php+mysql开发中的经验与常识小结
Mar 25 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和ACCESS写聊天室(一)
2006/10/09 PHP
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
JavaScript数据结构之二叉树的删除算法示例
2017/04/13 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
如何通过Python实现标签云算法
2019/07/02 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
2020/06/15 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
python实现计算图形面积
2021/02/22 Python
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
医药代表个人求职信范本
2013/12/19 职场文书
期中考试后的反思
2014/02/08 职场文书
信访工作经验交流材料
2014/05/23 职场文书
做一个有道德的人活动实施方案
2014/08/23 职场文书
中级会计大学生职业生涯规划书
2014/09/16 职场文书
2014年财务部工作总结
2014/11/11 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
超市员工管理制度
2015/08/06 职场文书
只用20行Python代码实现屏幕录制功能
2021/06/02 Python