前台与PHP与Mysql

三者之间的联系:前台获取数据库里面的数据,提交数据到数据库,都要通过php(就是我们说的后台),php充当桥梁。下面就以简单的“订餐”来介绍三者之间具体要做什么事。

一、前台

1、前台,通俗来说就是展示给用户看的页面,那么我们在写页面的时候就要考虑到,我们要展示什么,在页面的展示位置以及数据从哪来。今天要说的这个小例子就是:我们先利用Ajax向后台发送请求,后台执行连接数据库操作,将获取的数据传送给前台,前台就获取了菜单,展示在页面上,然后用户开始点餐,点好之后将提交数据到后台,后台再将数据写入数据库。在这里,我们以form表单提交数据。

2、获取与提交数据前台要写的代码:

①获取数据库数据:具体的过程都有注释,注意,form的action属性值是提交数据的接口,而Ajax的open方法里面是获取数据的接口,一定要注意区分。

二、后台

1、从数据库获取数据,后台要写的代码:

①连接数据库:$link=mysqli_connect("localhost","root","","mydb");

备注:参数1,本地;参数2,root(这里根据具体的项目可更改);参数3,数据库密码(我们没有密码,就设置为空);参数4,数据库名称(就是包含着很多数据表的)。

②连接错误处理(这步在平时练习时可以忽略,为了严谨,我们还是加上吧):


③写操作数据库的语句:

例如:查询,因为我们这里是要从后台获取数据,所以用查询。代码如下:

$sql="select * from menu1";//select * from 表名;表示查询数据表menu1里面的所有数据。

④将上述操作语句写入连接:$result=mysqli_query($link,$sql);

⑤查询成功,我们获取所有的数据$data=mysqli_fetch_all($result,MYSQLI_ASSOC);

备注:如果查询成功 ,就会返回一个结果集对象;可以使用结果集对象方法来获得记录;第一个方法fetch_all,返回所有的结果;MYSQLI_ASSOC 以关联数组的形式输出结果;MYSQLI_NUM,以数字下标的形式输出结果,此为默认。

⑥写好之后关闭连接:

mysqli_close($link);

特别提醒:上述的②⑥在不要求严谨的情况下可以省略,但是①③④⑤一定不能省。下图很醒目,主要操作的几步:



2、将数据通过后台提交到数据库,后台要写的代码:(注意加粗的代码)

首先判断用户提交的数据是否为空:

if(!empty($_POST["btn"])){

        //循环遍历用户选择的checkbox的“id”;

        foreach($_POST['id'] as$key =>$val){

        //$val 用户选择的id值,需要转化,确保数据安全。

        $menu_id=intval($val);

        //订餐份数num_id;

        $amount=intval($_POST['num_'.$menu_id]);

        //前天数据转化好了以后就要提交数据了,还是老一套,首先建立连接

       $link = mysqli_connect("localhost","root","","mydb");

       //解决乱码问题 

       mysqli_set_charset($link,"utf8");

      根据前台动态生成数组时,拼接的data[i].id取值从数据库取值。

      $sql="select name,price from menu1 where id=".$menu_id;

      $result=mysqli_query($link,$sql);

      $row=mysqli_fetch_ASSOC($result);

        //生成sql语句

       $date = date("Y-m-d H:i:s");

       $sql = "insert into orderlist(menu_name,menu_price,amount,createDate)";

       $sql .=" values ('{$row['name']}','{$row['price']}','$amount','$date')";

       //将操作语句写入连接

       $result = mysqli_query($link,$sql);

       //关闭连接

       mysqli_close($link);

}

总结:上述就是完整的前后台与数据库之间的操作,当然这里只是最最基础的内容,后期都是在此基础之上拓展。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值