美文网首页
常用的php代码

常用的php代码

作者: moly琴 | 来源:发表于2019-01-24 21:22 被阅读0次

后端php步骤

1.连接数据库
2.接收前端发送过来的参数
3.执行sql语句
4.进行逻辑判断,返回结果
5.关闭数据库连接

  • 基本所有操作都会引入的文件 connect

引入文件

// 引入数据库库连接 和 跨域文件
require_once "./connect.php";
require_once './cross.php';

设置编码格式

// 设置编码格式 ===== 支持中文===== PHP设置格式
    header('Content-Type: text/html;charset=utf-8');

连接数据库

// 连接数据库
    $conn = mysqli_connect('148.70.210.32','用户名','密码','仓库',3306) or die('Error');

接收参数


    // PHP获取浏览器参数:
        $_POST['参数字段名'] or  $_GET['参数字段名']
        删除某个属性
        unset($data['属性名']);

执行sql语句

//执行sql语句:
$data = mysqli_query($conn,"SELECT * FROM table_name");

//获取一条数据
$row=mysqli_fetch_assoc($data)

//遍历所有返回数据
while($row=mysqli_fetch_assoc($data)){
    echo '用户名:'.$row['username'].' 密码:'.$row['pwd'].'<br/>';
}

// 总数据条数:
mysqli_num_rows($sql)

PHP重定向浏览器页面

//跳转页面
// 是否带参数 登录失败就可以要求带参数 原页跳转
header("Location: http://xxxxxx/login.html?iserror=true");  

PHP对象转JSON格式

json_encode($xxxx);

PHP开启session

1.php.ini里把session.auto_start = 0设置为session.auto_start = 1 开启session记录

2.设置session过期时间
php.ini内,session.cookie_lifetime = 600 单位:秒

PHP session设置值/取值

$_SESSION['username'] 取值
$_SESSION['username'] = 'zhangsan' 设置值

PHP 清除session某个属性值

        unset($_SESSION['属性名']);
        //销毁整个session对象
        session_destroy();

PHP创建数组对象

    $arr = array(
        array('name' => 'zhangsan','age' => 18),
        array('name' => 'lisi','age' => 23)
    );

PHP创建对象

    $obj = (object) [
        'list' => $list,
        'totallength' => 10,
    ];

PHP解决跨域

        // 后台新增如下代码
        <?php
        header("Access-Control-Allow-Origin: http://localhost:8888");
        header('Access-Control-Allow-Headers:Authorization');
        header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
        header("Access-Control-Allow-Credentials: true");
        header("Access-Control-Allow-Headers: Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,Authorization");
  • http://localhost:8888 此处注意要根据实际情况设置允许跨域的网址

前端发送ajax请求新增属性

        $.ajax({
            type: 'get',
            url: 'http://localhost:80/unsession.php',
            xhrFields: {
                withCredentials: true
            },
            crossDomain: true,
            success(res){
                console.log(res)
            }
        })

增加crossDomainxhrFields属性

数据库-----增删改查

```
增加:
    INSERT INTO table_name(key,key1,key2) VALUES(value,value1,value2)

删除:
    DELETE FROM table_name WHERE condition;

修改:
    UPDATE table_name SET field1=newvalue, field2=newvalue WHERE runoob_id=3;

查询:
    SELECT * FROM table_name WHERE 参数
    示例:SELECT * FROM table_name WHERE username='zhangsan' && pwd='12'
``` 

获取时间

// 注意点1: h:i:s  获取12小时时间 H:i:s 获取24小时时间
// 注意点2: date_default_timezone_set("Asia/Shanghai") 设置时区
// echo date("Y/m/d H:i:s");

// 设置时区 是为了将php中获取的时间 设为中国时间 ---- 东八区
// 设置时区!!!!!!!(请记住一定要设置时区!!!!不然是以柏林标准时间为准00:00:00开始)
date_default_timezone_set("Asia/Shanghai");

//   获取当前时间
$date = date("Y/m/d H:i:s");

高级用法

联合查询

select b.*, u.username from borrowmoney b join user u on b.userid=u.id

分页查询

SELECT * FROM table_name LIMIT 5,10; // 检索指定记录,从索引5开始,找到10条数据

获取数据条数

SELECT COUNT(*) FROM table_name

分页完整后端php代码

<?php
    require_once "./connect.php";
    require_once './cross.php';
    $curpage = $_GET['curpage'];    // 参数1: 当前页数
    $pagecell = $_GET['pagecell'];  // 参数2: 每页显示的条数 
    $starIndex = ($curpage - 1 ) * $pagecell;   // 起始索引
    $sql = "select b.*, u.nickname  from  borrow b join user u on b.userid=u.id LIMIT $starIndex,$pagecell";
    $data = mysqli_query($conn,$sql);      // 执行sql语句
    $arr = [];     //定义数组保存数据
    /* 循环数据 */
    while($row=mysqli_fetch_assoc($data)){
        array_push($arr, $row); //向数组中追加元素
    }
    /* $arr: 数据源,总页数 = 向上取整(总数据条数 / 每页显示条数) */
    /* 计算总页数 */
    $data1 =  mysqli_query($conn,"SELECT COUNT(*) FROM borrow");    //获取表总数据条数
    $row1 = mysqli_fetch_assoc($data1);
    $maxpage = $row1['COUNT(*)'] / $pagecell;
    // 封装数据 ========= 前端接到的数据将会是一个对象
    $obj = (object) [
        'arr' => $arr,  //数据源
        'maxpage' => ceil($maxpage),    //最大页数
    ];
    echo json_encode($obj);
?>

带条件联合查询

// 联合查询 待条件 主表的id 查询
    $data = mysqli_query($conn,"select b.*, u.nickname, u.education, u.income, u.regtime from  borrow b join user u on b.userid=u.id where b.id=$borrowid");    

查询需要的字段

$sql ="SELECT username,nickname,totalmoney,usablemoney,blockedmoney,lastlogintime,education,income,email,phone FROM user WHERE id=$userId";

获取session 数据

// 配置时间过后,会自动销毁session对象  ===== 容错性 ===== 如果session存在则获取登录用户 ,如果不存在( 未登录 )
    if($_SESSION){
        // 有session
        echo $_SESSION['loginacc'];
    }else{
        // 没有session
        echo 'nosession';
    }

投资:a扣款然后b加钱(后端代码)

    // 1.验证当前用户余额是否足够!(如果足够才继续往下)
    $id = $_SESSION['id'];  //当前用户
    $investMoney = $_GET['investMoney'];    //用户投资的金额
    $borrowid = $_GET['borrowid'];  //当前订单ID
    
    $searchData = mysqli_query($conn,"SELECT totalmoney FROM user where id=$id");   
    $searchRow = mysqli_fetch_assoc($searchData);
    // $searchRow['totalmoney'] //当前用户余额
    
    if($searchRow['totalmoney'] >= $investMoney){
        //金额足够,才继续
        
        /*  ----------------------------------- 2.扣除当前用户的金额 ------------------------------------- */
        $newmoney = $searchRow['totalmoney'] - $investMoney;    //计算用户的最新金额
        $result = mysqli_query($conn,"UPDATE user SET totalmoney=$newmoney WHERE id=$id");  
        if($result){
            //扣款成功!
            /*  ----------------------------------- 3.给当前订单增加金额 ------------------------------------- */
            $nowborrowData = mysqli_query($conn,"SELECT hasbmoney FROM borrow where id=$borrowid"); 
            $nowbData = mysqli_fetch_assoc($nowborrowData);
            // $nowbData['hasbmoney'];  //当前订单的投资金额
            //计算最新金额
            $endmoney = $nowbData['hasbmoney'] + $investMoney;
            $borrowResult = mysqli_query($conn,"UPDATE borrow SET hasbmoney=$endmoney WHERE id=$borrowid"); 
            if($borrowResult){
                echo '全部操作成功!';
            }else{
                echo '订单金额更新失败!';
            }   
        }else{
            echo '扣款失败!';
        }
    }else{
        echo 'fail';
    }

登录

//$sql = "SELECT * FROM user WHERE username='".$acc."'&& pwd='".$pwd."'";
$sql="select * from user where username= '$acc' && pwd= '$pwd'";
// 4. 执行sql语句
// 有返回结果 select  ==== 正确就返回结果集(数组对象),错误就返回false
$data=mysqli_query($conn,$sql);
#echo json_encode($result);
$length = mysqli_num_rows($data);
// 根据结果响应数据给前端
if ($length == 0){
//    查无此人
    header("location:http://192.168.3.11:8888/login.html?error=true");
}else{
//     通过验证  === 跳转到首页
    header("location:http://192.168.3.11:8888/");
//   获取当前时间
    $date = date("Y/m/d H:i:s");
//    从查询结果集中  获取一行数据  ====  为了获得id
    $row = mysqli_fetch_assoc($data);
    // 把用户名写入到session中 ======= 保存用户登录状态 ===== 一般10-15min ========= 服务器存储
    $_SESSION['loginacc'] = $acc;
    // 写入用户ID
    $_SESSION['id'] = $row['id'];
    // 写入最后登录时间
    $result = mysqli_query($conn,"UPDATE user SET lastlogintime='$date' WHERE id=".$row['id']);

相关文章

  • 常用的php代码

    后端php步骤 1.连接数据库2.接收前端发送过来的参数3.执行sql语句4.进行逻辑判断,返回结果5.关闭数据库...

  • smarty模板引擎

    一、模板引擎的工作原理 1、实现HTML代码和PHP代码简单分离,完全去除视图文件中的PHP标记 2、常用PHP模...

  • PHP 使用PHPExcel实现文件导入与导出功能

    PHPExcel文件导入导出常用方法1、PHP文件导入上传文件页面样式HTML代码 PHP代码文件上传与导入 使用...

  • [Laravel5.1教程] Laravel Blade 模板简

    主控制器 将常用代码封装成 模板容器 # app.blade.php 模板 # about.blade.php

  • PHP常用代码片段

    ** 工作的过程中经常会需要写一些小的函数,特在此整理一下** 获取指定日期当前星期的开始 & 结束时间戳

  • php 常用代码库

    1.二维数组转换字符串/** @function_name idArrToString * @descriptio...

  • PHP常用代码大全(转)

    PHP常用代码大全 1、连接MYSQL数据库代码

  • PHP 常用的代码片段

    归类PHP常用的代码片段,你可以直接拿来用!当你在开发网站、应用或者博客时,利用这些代码能为你节省大量的时间。 h...

  • PHP常用数组排序算法

    title: PHP常用数组排序算法tags: [PHP,数组,排序,算法] 这几天写到的代码中,用到了许多对数组...

  • [福利]PHP100 张恩铭教学视频

    01:环境配置与代码调试02:PHP的数据类型与源码调试03:常用PHP运算类型介绍与应用04:PHP条件语句介绍...

网友评论

      本文标题:常用的php代码

      本文链接:https://www.haomeiwen.com/subject/abgujqtx.html