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代码
Mar 03 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
Sep 05 PHP
Zend的AutoLoad机制介绍
Sep 27 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
smarty内置函数foreach用法实例
Jan 22 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
Mar 27 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
php版微信公众号自定义分享内容实现方法
Sep 22 PHP
PHP中类的自动加载的方法
Mar 17 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 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
删除无限级目录与文件代码共享
2006/07/12 PHP
PHP MemCached高级缓存配置图文教程
2010/08/05 PHP
php设计模式 Adapter(适配器模式)
2011/06/26 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
基于python的汉字转GBK码实现代码
2012/02/19 Python
详解Django中的过滤器
2015/07/16 Python
python实现杨辉三角思路
2017/07/14 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
Python Django搭建网站流程图解
2020/06/13 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
C语言面试题
2015/10/30 面试题
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
国际贸易专业求职信
2014/06/04 职场文书
服务理念口号
2014/06/11 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
放弃继承权公证书
2015/01/23 职场文书
2015年社区文体活动总结
2015/03/25 职场文书