php如何进行自动售货机的html5 php 数据交互互

PHP与MySQL交互使用详解PHP与MySQL交互使用详解PHP与MySQL交互使用详解 1、创建自动连接数据库的代码,并生成一些必要的代码.我们仔细研究一下数据库的连接函数,会发现是这样的一行代码。 $link_id=@mysql_connect($hostname,$username,$password); 所以我们在include文件connect.inc中添加以下代码就可以了。connect.inc&php$hostname='localhost'; $username='phpstar';$password='phpstar';$dbname='script'; $tablename='php_script';$link_id=mysql_connect($hostname,$username,$password); if (! $link_id){echo '&html&&head&&title&Error&/title&&/head&&body&'; echo 'Connection to PHP has failed.';echo '&/body&&/html&';exit();}& 把这个程序加入到每个PHP脚本中,这样当脚本运行时就建立了数据库连接。因为我们的程序具有交互性,我们要处理用户输入的信息,所以在该文件中还应该加入以下代码. &php//接着上面的代码//加入一个处理输入信息的代码,并生成一个数组备用$arr_request=array(); if (count($HTTP_GET_VARS)) {while (list($key, $value) = each ($HTTP_GET_VARS)) {$arr_request[strtolower($key)] = $}}
if (count($HTTP_POST_VARS)) {while (list($key, $value) = each ($HTTP_POST_VARS)) {$arr_request[strtolower($key)] = $}} //我们还要定义每次输出的HTML function html_header($title){echo '&html&&head&&title&';echo &$title&; echo '&/title&&/head&&body bgcolor=&#CCCCCC&&';}function html_footer() {global $link_@mysql_close($link_id);echo '&/body&&/html&';}//还有一个出错信息处理 function html_error_exit($msg){$errno = mysql_errno(); $error = mysql_error(); echo '&html&&head&&title&Error&/title&&/head&&body&';echo $ echo &&br&Error: ($errno) $error&br&&;echo '&/body&&/html&';exit();}& 好了!我们把一些常用的代码放在了这里,用起来就方便了2、 创建数据库表这有两种方法:在DOS环境下输入命令,但容易出错哦. 利用程序,就算出错,修改起来也容易.我们用程序来创建数据表.因为我们的程序要有普遍性,所以表中的字段并不重要,这里我们只是简单的创建一个.该表具有以下管理字段: key_script 这是一个有自动增量的字段,它保证表中的纪录都是独一无二的.date_created 这是一个日期字段,储存该纪录创建的时间 data_updated 这也是日期字段,储存该纪录最后一次更新的时间 flag_deleted 储存该纪录是否被删除,&Y&:该纪录已被删除,&N&:该纪录没删除,可使用具有以下储存信息的字段.script_name 程序名称 script_size 程序字节数script_describe 程序的简单说明author_name 程序作者名author_email 程序作者的email author_homepage 程序作者的主页下面建立该程序:createTable.php&phprequire('connect.inc'); $str_sql=&create table php_script( key_script int(10) unsigned DEFAULT '0' NOT NULL auto_increment, date_created datetime DEFAULT ' 00:00:00', date_updated datetime DEFAULT ' 00:00:00', flag_deleted enum('Y','N') DEFAULT 'N' NOT NULL, script_name VARCHAR(20) NOT NULL,script_size VARCHAR(10) NOT NULL, script_describe VARCHAR(200) NOT NULL,author_name VARCHAR(20) NOT NULL, author_email VARCHAR(20) NOT NULL,author_homepage VARCHAR(30) NOT NULL, primary key (key_script))&;$result=mysql_db_query($dbname,$str_sql,$link_id); if ($result){echo&ok! Table $tablename has been created!&;}else{echo&Failed!&;} &OK! 我们的表建好了!3、生成插入纪录代码程序。似乎我们应该先把纪录显示出来,然后才插入纪录,但因为我们还没有纪录,所以把这一步提到前面来。 首先、创建一个HTML表单,以便用户输入相关信息。其次、创建能插入表单信息的MySQL代码。好! 我们开始,表单样式如下:程序名:文件大小:程序描述:作者名: 作者邮件地址:作者的主页:能插入表单信息的MySQL代码如下:script_insert_action.php&php require('connect.inc');if($arr_request['action']=='insert'){$current_date=date('Y-m-d H:i:s');
$script_name=$arr_request['script_name']; $script_size=$arr_request['script_size']; $script_describe=$arr_request['script_describe']; $author_name=$arr_request['author_name']; $author_email=$arr_request['author_email']; $author_homepage=$arr_request['author_homepage']; $str_sql=&insert into $tablename(date_created,date_updated,script_name, script_size,script_describe,author_name,author_email,author_homepage)VALUES( '$current_date','$current_date','$script_name','$script_size', '$script_describe','$author_name','$author_email','$author_homepage')&; $result=mysql_db_query($dbname,$str_sql,$link_id); if (!$result){html_error_exit('MySQL插入命令失败!');}else(html_header('成功'); echo&&center& &;echo('MySQL插入命令成功');echo&&br& &;echo&html_footer();)& OK! 插入纪录功能完成!&JavaScript(18)
对应不少初学前端知识的小伙伴来说,如果实现前后端的数据交互,脑袋里很模糊,现在给大家介绍一个简单的案例帮助大家理解。
首先,我们来制作一个登录框,用来输入帐号和密码
class=&login&
class=&loginTittle&登录
class=&loginspan& 帐号
type=&text& id=&userName& value=&输入你的帐号&
//装一个√或×,提示是否输入正确
0 //帐号是否正确输入的状态字
class=&xbtn& src=&&
type=&password& id=&password&
type=&button& value=&登
这是登录框的html部分,CSS部分也不说了,这里不是重点
//主要就是ajax部分,这里用到了JQuery中的$.ajax函数,详细用法请参照JQ文档
'url':'login.php',//第一个参数url,PHP脚本的位置,我要把参数传到什么位置
'data':{&username&:$('#userName').val(),&password&:$('#password').val(),},//传递什么数据,这里我用的是json格式,如果不知道什么是json数据,可以自己搜索一下
'success':function(data){//success表示,当服务器返回数据成功后,该做什么,返回的数据储存在data中,我们直接把data传入函数中。
switch(data.type){
case 0:alert('账户不存在');break;
$('#userMsg').children('li').eq(2).find('span').html(' '+data.gouwuchenum+' ');
$('#loginMsg li').eq(1).empty().html('&span&'+data.name+'&/span&');
$('#loginMsg li').eq(2).empty().html('&a href=&javascript:tuichu()&&退出&/a&');
$('.login').animate({right:-180,opacity:0},400,function(){
$(this).css('display','none');
case 2:alert('密码错误');break;
'type':'post',//type是ajax的方法,可以用post可以用get,两种方法的区别可以自己查阅资料
'dataType':'json',//传递的数据类型,对应我上面的数据格式,这里用json。数据类型也可以是html/xml等
上述脚本解释了,ajax是如何将前端的数据传送入后台的
//下面来看,php脚本是如何接受数据,处理数据,返回数据的
$username=$_POST['username'];
$password=$_POST['password'];//根据不同的方法,php会把接收的数据储存在$_POST/$_GET这样的全局变量中,前面的ajax我们用的是post方法,所以这里用$_POST接收数据
$usermsg =array(
'fhw7328126' =& '7328126',
'fhwlmmz' =& 'feng7328126',
'dearmmz' =& '123456',
'rooter' =& 'dd',
$gouwuche=array(
'fhw7328126' =& 2,
'fhwlovemmz' =& 3,
'dearmmz' =& 8,
'rooter' =& 123,
$name=array(
'fhw7328126' =& '鱼鱼风',
'fhwmmz' =& '黄翔',
'dearmmz' =& '明珠',
'rooter' =& '管理员',
);//这里我定义了3个数组,分别储存有用户的帐号密码购物车信息和昵称,事实上,一般这样的数据都是储存在数据库中,PHP可以与数据库交互,获得这些数据表。由于我还没有掌握如何使用数据库,这里就直接用偷懒的方法定义好数据表;
$type=0;//定义一个变量,用来代表php处理数据的不同结果,默认0
$gouwuchenum=0;//定义一个变量,用来装用户购物车数量信息,默认0
$name2=0;//定义一个变量,用来装用户的昵称,默认0
foreach($usermsg as $key =& $value){//遍历数组
if($username==$key and $password==$value){//如果帐号存在,且密码匹配
$type=1;//状态字赋值为1;
$gouwuchenum=$gouwuche[$key];//获取当前用户的购物车信息;
$name2=$name[$key];//获取当前用户的昵称
break;//跳出遍历
else if($username==$key and $password!=$value){//如果帐号存在但密码不匹配
$type=2;//状态字赋值为2;
$response=array(//定义php要返回的数据,这里先定义成数组类型
'type' =& $type,//返回状态字
'gouwuchenum' =&$gouwuchenum,//返回购物车信息
'name' =& $name2,//返回昵称
echo json_encode($response);//将要返回的数组转化成json数据,打印出来。注意,PHP打印出什么,那么前端接收的数据就是什么。通篇浏览这个php文件,只有最后一行打印了一个json数据,所以前端得到的数据就是这个json。
OK,这个php脚本,让大家知道了,后端如何接收数据,处理数据,以及返回数据。
下面,我们返回头来看看,前端接收到数据后是怎么处理的。
//success函数,表示前端收到数据成功后,要做什么
'success':function(data){//这里的data储存有后端php返回的json数据
switch(data.type){//以data.type为switch-case关键字,分类处理
case 0:alert('账户不存在');break;//如果type=0,说明帐号密码都不匹配
case 1:{//type=1,说明匹配成功,登录成功
$('#userMsg').children('li').eq(2).find('span').html(' '+data.gouwuchenum+' ');//更新购物车数量
$('#loginMsg li').eq(1).empty().html('&span&'+data.name+'&/span&');//登录按钮更换为用户昵称;
$('#loginMsg li').eq(2).empty().html('&a href=&javascript:tuichu()&&退出&/a&');//注册按钮更换为退出按钮;
$('.login').animate({right:-180,opacity:0},400,function(){//登录框隐藏
$(this).css('display','none');
case 2:alert('密码错误');break;//type=2,表示用户存在但是密码不匹配
好了,到此为止,希望那些不知道ajax的同学们,可以大致了解到ajax是干什么的,php是干什么的。
更加具体的教材,可以查看慕课网上的AJAX视频教材!
作者: fhw2087&
链接:/article/10371
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作!
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:12432次
排名:千里之外
原创:33篇
转载:12篇
(1)(3)(13)(3)(1)(3)(2)(1)(4)(13)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'5628人阅读
服务器(5)
希望查看本篇文章的学者首先查看一下php的基础知识,因为今天用到这个东西,现学现卖吧.后续会更新php服务器的基础知识!
1.首先你要有一个界面 & 我这里利用我项目开发的一个简单界面截取下来进行讲解!项目机密 &请勿**,你懂得!
html代码和界面
&!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&&
&meta http-equiv=&Content-Type& content=&text/ charset=utf-8&/&
&title&百姓商城&/title&
&link href=&/css/newindex4.css?v=.css& rel=&stylesheet& type=&text/css&
media=&screen&&
&script type=&text/javascript& src=&jquery-3.0.0.min.js&&&/script&
&div class=&newindex_box mar_t_10 clearfix&&
&div class=&index_hot_sale&&
&ul class=&hot_sale_ul& id=&hot_sale&&
&li class=&hot_sale_li left& style=&margin-right:0&&
&div class=&pic&&&a style=&width:260height:172&
href=&/item/05c044a508ade00f539be3e0a3.htm&
title=& &&&img style=&width:260height:172& alt=&维多利陶瓷 自然石系列&
src=&/system/cfe00463b0acfe04c9d9be3e0a3.jpg&&&/a&
&p class=&tit&&&a href=&/item/05c044a508ade00f539be3e0a3.htm&
title=&&&&/a&&/p&
&div class=&price&&&span class=&right&&预订:&b class=&yd_num&&44&/b&件&/span&&span
class=&bx_price&&¥62.1&/span&&span class=&store_price&&¥128&/span&&/div&
&/pre&&pre name=&code& class=&html&&上面的代码li部分其实是有八个 实现的是这样的界面
因为li代码都是一样的 所以就不一一列举了 大家明白就行了
ok 这里的都明白;下面就是用ajax进行交互 就是js的代码
在下面进行加入一个js的代码块
&pre name=&code& class=&javascript&&&script type=&text/javascript&&
var str=&&;
type:&post&,
url:&postDemo.php&,
&code&:&201&,
&user&:&admin&
success:function(data){
var result=eval(&(&+data+&)&);
alert(data);
for(var i=0;i&result.i++){
if ((i+1)%4){
var str = &&li class='hot_sale_li left' && +
&&div class='pic'&&a style='width:260height:172' href='& + result[i].titleURL + &' title='维多利陶瓷 自然石系列'&&img style='width:260height:172' alt='& + result[i].title + &' src='& + result[i].imgURL + &' /&&/a&&/div&& +
&&p class='tit'&&a href='& + result[i].titleURL + &' title='& + result[i].title + &'&& + result[i].title + &&/a&&/p&& +
&&div class='price'&&span class='right'&预订:&b class='yd_num'&& + result[i].number + &&/b&件&/span&&span class='bx_price'&¥& + result[i].Nprice + &&/span&&span class='store_price'&¥& + result[i].Oprice + &&/span&&/div& &/li&&
var str = &&li class='hot_sale_li left'style='margin-right: 0px' && +
&&div class='pic'&&a style='width:260height:172' href='& + result[i].titleURL + &' title='维多利陶瓷 自然石系列'&&img style='width:260height:172' alt='& + result[i].title + &' src='& + result[i].imgURL + &' /&&/a&&/div&& +
&&p class='tit'&&a href='& + result[i].titleURL + &' title='& + result[i].title + &'&& + result[i].title + &&/a&&/p&& +
&&div class='price'&&span class='right'&预订:&b class='yd_num'&& + result[i].number + &&/b&件&/span&&span class='bx_price'&¥& + result[i].Nprice + &&/span&&span class='store_price'&¥& + result[i].Oprice + &&/span&&/div& &/li&&
$(& .index_hot_sale #hot_sale&).append(str);
var oneTitle = result[i].
$(&.hot_sale_ul li:eq(&+i+&) a&).attr(&title&,result[i].title);
$(&.hot_sale_ul li:eq(&+i+&) a&).attr(&title&,result[i].title);
&p&&/pre&&p&上面的ajax的几个属性大家映带都懂  我简单说一下  type就是提交的方式  一共有post和get两种 我用的是post&/p&&p&url就是服务器php的路径就是提交数据到的地址,data就是我们提交的数据,就是进行向服务器进行提交,然后服务器代码就是以下代码:&/p&&p&&/p&&p&&pre name=&code& class=&php&&&?php&/p&/**
* Created by PhpStorm.
* User: Administrator
* Time: 17:28
include &data.php&;
if($_POST[&code&]==201 && $_POST[&user&]==&admin&){
echo json_encode(array(&code&=&111)) ;
echo json_encode($hotSale);
echo json_encode(array(&code&=&402));
echo json_encode($hotSale);
服务器的代码 include进来的php文件就是存储数据的一个php文件下面会附上代码;我解释一下这个简单的服务器端的代码
if($_POST[&code&]==201 && $_POST[&user&]==&admin&){
echo json_encode(array(&code&=&111)) ;
echo json_encode($hotSale);
}这个判断就是对客户端那边发过来的数据进行的判断 &如果code和user都正确 &则给你返回数据 &如果不等几返回
echo json_encode(array(&code&=&402));
echo json_encode($hotSale);
这是在开发中和服务器端的同事商量定下来的
下面我说一下正确的时候返回来的数据
&pre name=&code& class=&php&&echo json_encode($hotSale);
就是这句 echo大家都知道是php里面的关键字 ,json_encode就是获取我们加载 data.php
&pre name=&code& class=&php&&&?php
* Created by PhpStorm.
* User: Administrator
* Time: 19:53
header(&Content-type:text/charset=utf-8&);
$hotSaleContent1 = array(
&imgURL& =& &./百姓商城-百姓广场网上商城-郑州建材_郑州家具_郑州建材网_郑州装修公司-价格最低,保障质量_files/bc4dab9be3e0a3.jpg&,
&title&=&&南方家居 Q23025床(带床垫)&,
&titleURL&=&&/item/52ac004bf9be3e0a3.htm&,
&Nprice& =& &1980&,
&Oprice&=&&1980&,
&number&=&&53&
$hotSaleContent2=array(
&imgURL&=&&./百姓商城-百姓广场网上商城-郑州建材_郑州家具_郑州建材网_郑州装修公司-价格最低,保障质量_files/bf8604dab9be3e0a3.jpg&,
&title&=&&富魄力 M-66型沙发&,
&titleURL&=&&/item/f06de39be3e0a3.htm&,
&Nprice&=&&3600&,
&Oprice&=&&8600&,
&number&=&&60&
$hotSaleContent3=array(
&imgURL&=&&./百姓商城-百姓广场网上商城-郑州建材_郑州家具_郑州建材网_郑州装修公司-价格最低,保障质量_files/804eec0921e04dab9be3e0a3.jpg&,
&title&=&&和木轩 HK8005电视柜&,
&titleURL&=&&/item/526a0fc0abe3e0a3.htm&,
&Nprice&=&&3600&,
&Oprice&=&&8600&,
&number&=&&60&
$hotSaleContent4=array(
&imgURL&=&&./百姓商城-百姓广场网上商城-郑州建材_郑州家具_郑州建材网_郑州装修公司-价格最低,保障质量_files/cbaeb104d589be3e0a3.jpg&,
&title&=&&怡品源12F07-12E07餐桌椅&,
&titleURL&=&&/item/52fec2ee0d0a18d89be3e0a3.htm&,
&Nprice&=&&300&,
&Oprice&=&&800&,
&number&=&&600&
$hotSaleContent5=array(
&imgURL&=&&./百姓商城-百姓广场网上商城-郑州建材_郑州家具_郑州建材网_郑州装修公司-价格最低,保障质量_files/cbaeb104d589be3e0a3.jpg&,
&title&=&&怡品源12F07-12E07餐桌椅&,
&titleURL&=&&/item/52fec2ee0d0a18d89be3e0a3.htm&,
&Nprice&=&&300&,
&Oprice&=&&800&,
&number&=&&600&
$hotSaleContent6=array(
&imgURL&=&&./百姓商城-百姓广场网上商城-郑州建材_郑州家具_郑州建材网_郑州装修公司-价格最低,保障质量_files/cbaeb104d589be3e0a3.jpg&,
&title&=&&怡品源12F07-12E07餐桌椅&,
&titleURL&=&&/item/52fec2ee0d0a18d89be3e0a3.htm&,
&Nprice&=&&300&,
&Oprice&=&&800&,
&number&=&&600&
$hotSaleContent7=array(
&imgURL&=&&./百姓商城-百姓广场网上商城-郑州建材_郑州家具_郑州建材网_郑州装修公司-价格最低,保障质量_files/804eec0921e04dab9be3e0a3.jpg&,
&title&=&&和木轩 HK8005电视柜&,
&titleURL&=&&/item/526a0fc0abe3e0a3.htm&,
&Nprice&=&&3600&,
&Oprice&=&&8600&,
&number&=&&60&
$hotSaleContent8=array(
&imgURL&=&&./百姓商城-百姓广场网上商城-郑州建材_郑州家具_郑州建材网_郑州装修公司-价格最低,保障质量_files/bf8604dab9be3e0a3.jpg&,
&title&=&&富魄力 M-66型沙发&,
&titleURL&=&&/item/f06de39be3e0a3.htm&,
&Nprice&=&&3600&,
&Oprice&=&&8600&,
&number&=&&60&
$hotSale=array($hotSaleContent1,
$hotSaleContent2,$hotSaleContent3,
$hotSaleContent4,$hotSaleContent5,
$hotSaleContent6,$hotSaleContent7,
$hotSaleContent8);
&p&这里面就是所有的服务器提供的数据
然后进行获取那个数组&/p&&p&&span style=&font-family: Arial, Helvetica, sans-&&$hotS&/p&&p&然后传到我们html的ajax的data里面即使这个:&/span&&/p&&span style=&font-family: Arial, Helvetica, sans-&&&/span&&pre name=&code& class=&html&&success:function(data){
var result=eval(&(&+data+&)&);
alert(data);
这个就是ajax获取成功的时候执行的函数funcation()里面的data就获取到了我们那个数组,其实他是json文件,只是像数组格式我们还要进行转换
&span style=&font-family: Arial, Helvetica, sans-&&&/span&&pre name=&code& class=&html&&var result=eval(&(&+data+&)&);这句话就是把他转换成真正我们熟悉的array数组;
然后就是我们要八条数据吗进行遍历
&pre name=&code& class=&html&&for(var i=0;i&result.i++){
var str = &&li class='hot_sale_li left' && +
&&div class='pic'&&a style='width:260height:172' href='& + result[i].titleURL + &' title='维多利陶瓷 自然石系列'&&img style='width:260height:172' alt='& + result[i].title + &' src='& + result[i].imgURL + &' /&&/a&&/div&& +
&&p class='tit'&&a href='& + result[i].titleURL + &' title='& + result[i].title + &'&& + result[i].title + &&/a&&/p&& +
&&div class='price'&&span class='right'&预订:&b class='yd_num'&& + result[i].number + &&/b&件&/span&&span class='bx_price'&¥& + result[i].Nprice + &&/span&&span class='store_price'&¥& + result[i].Oprice + &&/span&&/div& &/li&&
result.length就是我们的最大长度了,
最后遍历之后就会输出八条了;不过肯定有人问 你怎么把服务器传过来的数组加载到html中的;下面对上面的那个var str里面的内容讲解一下:
&pre name=&code& class=&html& style=&font-family: Arial, Helvetica, sans-&&var str = &&li class='hot_sale_li left' && +
&&div class='pic'&&a style='width:260height:172' href='& + result[i].titleURL + &' title='维多利陶瓷 自然石系列'&&img style='width:260height:172' alt='& + result[i].title + &' src='& + result[i].imgURL + &' /&&/a&&/div&& +
&&p class='tit'&&a href='& + result[i].titleURL + &' title='& + result[i].title + &'&& + result[i].title + &&/a&&/p&& +
&&div class='price'&&span class='right'&预订:&b class='yd_num'&& + result[i].number + &&/b&件&/span&&span class='bx_price'&¥& + result[i].Nprice + &&/span&&span class='store_price'&¥& + result[i].Oprice + &&/span&&/div& &/li&&
大家可以看到这是一个自定义的数组然后把每一行都加一个&++&连起来 大家都明白,这是js中的链接方式;里面的数据替换是用的是
result[i].XXX; i就是进行遍历的数据 每一个不同的i从服务器json里面获取不同的数据 因为转换成数组了 就可以用来获取了;
XXX就是指的是每一个数组键,来获取里面的值 放到属性里面,就把这个html写活了!!!
加载完显示就是和上一个界面一样的!!
可能我说的大家有的不懂, 希望大家提意见 或者又不懂的下面留言,我会尽力讲解的 !
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:61763次
排名:千里之外
原创:32篇
(2)(1)(5)(3)(19)(1)(3)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 自动售货机销售数据 的文章

 

随机推荐