Ajax PHP 边学边练 之三 数据库

本篇将继续通过该实例讲解与数据库的交互方式。实例中用到的是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”事件并加载到当前页面。
 
源代码下载

(0)

相关推荐

  • ajax php 实现写入数据库

    首先需要一个带输入表格. 复制代码 代码如下: <!-- To change this template, choose Tools | Templates and open the template in the editor. --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title

  • php+ajax 实现输入读取数据库显示匹配信息

    废话不多说了,直接跟大家贴代码了 dropbox_index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

  • Ajax PHP 边学边练 之三 数据库

    本篇将继续通过该实例讲解与数据库的交互方式.实例中用到的是MySQL,也可以根据自己的需要替换为其他数据库,其连接方式可以参考PHP相关手册. 在下面源程序包中dbconnector.php 提供了与MySQL的连接函数. 复制代码 代码如下: <?php //定义数据连接变量 define ("MYSQLHOST", "localhost"); define ("MYSQLUSER", "root"); define

  • Ajax+PHP 边学边练之四 表单

    谈到Form就涉及到一个发送请求方式问题(GET和POST),对于GET和POST的使用和区别在本文就不详细说明了,一般对于Web开发由于POST传值为隐式且传输数据量较大所以比较常用.在本例中对functions.js进行下修改,将创建XMLHttp对象程序创建为一个函数processajax. 复制代码 代码如下: function processajax (serverPage, obj, getOrPost, str){ //将创建XMLHttpRequest对象写到getxmlhttp

  • Ajax+PHP边学边练 之五 图片处理

    先上个效果图:  Sample6_1.php 中创建Form: 复制代码 代码如下: //显示上传状态和图片 <div id="showimg"></div> //上传文件需要定义enctype,为了显示图片将target设为uploadframe <form id="uploadform" action="process_upload.php" method="post" enctype=&qu

  • Ajax+PHP 边学边练 之二 实例

    效果1. 当鼠标放在某日上时,如果当天有备忘录,则会显示出来,如下图: 复制代码 代码如下: function checkfortasks (thedate, e){ //找到页面中taskbox对应<div>设置为可见 theObject = document.getElementById("taskbox"); theObject.style.visibility = "visible"; //初始化taskbox位置 var posx = 0; v

  • PHP学习笔记之三 数据库基本操作

    下面是在Linux上登录mysql,创建数据库和创建表的过程. yin@yin-Ubuntu10:~$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 360 Server version: 5.1.41-3ubuntu12.1 (Ubuntu) Type 'help;' or '\h' for help. T

  • javascript 支持页码格式的分页类

    但是他们插件的附属功能很多又不需要,而且没必要就为了这么一个功能区引用这个库,为速度考虑吧,当然你服务器好也行,但是其实这个效果不是必须的,但是觉的会常用,所以就包装成类了,供以后使用,也供有需要的人学习使用. 下面只是一个简单的demo,用的话自己可以在编辑页码样式,有默认的格式.不废话了,自己看吧,有注释使用说明...类(3kb)使用可以参照demo,不明白使用的可以留言. 以后会慢慢写一些项目开发中常遇到的问题,以及解决方案,和大家学习分享. jpage.js 复制代码 代码如下: /*

  • ajax jquery实现页面某一个div的刷新效果

    原始代码是这样的: <div class='control-group'> <label class='control-label' for='inputSelect'>所属单位</label> <div class='controls'> <select id='inputSelect' name="acCpname" onchange="updateAc()"> <c:forEach items=

  • Vue+Koa+MongoDB从零打造一个任务管理系统的详细过程

    大概是在18年的时候,当时还没有疫情.当时工作中同时负责多个项目,有 PC 端运营管理后台的,有移动端 M 站的,有微信小程序的,每天 git 分支切到头昏眼花,每个需求提测需要发送邮件,而且周五要写烦人的周报,我就萌生了做一个任务管理系统的想法.其实不管是日常需求还是处理线上 bug,都可以看作一个个大大小小的任务.这些任务有排期,prd,项目分支,开发测试人员等关键因素,在开发过程中这些都会得到明确,从而根据这些信息推导出提测邮件内容,进而通过排期时间区间汇总出周报. 说干就干,花了两个周末

  • iOS开源一个简单的订餐app UI框架

    前言 学 Swift 也有一段时间了,做了一些小的 demo.一直想做个完整的项目,发现这边学校的外卖订餐也逐渐流行起来,不像中国有那么多强大的外卖软件,美国也有,但不多,起码中国人对那些软件都不太熟知也不怎么用.打算专门针对午餐的外卖做个app,做了几天,只做出个 UI,看上去很小的软件,新手做起来感觉东西还是有点多. Swift 如何与后端交互 之类的之后再慢慢学吧,有数据库之类的我都挺熟悉,SQL 或者 MongoDB. 目录 在这个 app 中,所有 UI 都是用代码创建的,你可以在 1

  • java servlet结合mysql搭建java web开发环境

    这次学servlet用的数据库是mysql,而且我当前是准备好好的学JAVAWeb了,所以关于javaweb的文章后面肯定还会继续的更新,前几天其实想学php,但是后面一个朋友的提醒,让我转向了javaweb. 因为我当前是做手机应用,所以学java还是打算从数据接口这块入手,这次讲解的流程将非常仔细...从我搭建的方式-----中途遇到的错误----->最后数据展示,我都会一一贴出来. 一.在ecplise下安装javaweb的开发环境: 这一步和前面一篇javaservlet+oracle是

随机推荐