php实现排序功能(提供全部)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: php实现排序功能(提供全部)

前言

和大家一起完成php+mysqli排序功能的实现.

一、sql:

-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 2022-03-17 17:19:09
-- 服务器版本: 10.1.13-MariaDB
-- PHP Version: 5.6.21
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `a`
--
-- --------------------------------------------------------
--
-- 表的结构 `search`
--
CREATE TABLE `search` (
  `id` int(11) NOT NULL DEFAULT '0',
  `content` text COLLATE utf8_vietnamese_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_vietnamese_ci;
--
-- 转存表中的数据 `search`
--
INSERT INTO `search` (`id`, `content`) VALUES
(666, 'cyg'),
(2, 'liwen'),
(555, 'liwen&cyg');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

二、使用步骤

核心问题:

1.怎么链接数据库呢?

$link=mysqli_connect('localhost','root','','a');

解析:链接数据库,在自己的电脑本地地址上localhost。数据库软件用户名:root.密码"", 数据库名:a

2.怎么设置链接的数据库的字符编码呢?

mysqli_set_charset($link,'utf8');

设置这种utf8编码,不至于有汉字乱码。

3.怎么运行php中的sql呢?

mysqli_query($link,$sql);

解析:第一个参数是数据库链接赋值的变量。第二个参数是sql语句变量

4.怎么在插入语句中写变量呢?

$sql = "INSERT INTO search(id,content)
VALUES ('{$id}','{$content}')";

解析:按照这种格式来就行了

5.排序的sql语句,升序怎么写?从小到大的是升序。越来越大

$sql = "SELECT id,content FROM search ORDER BY id";

6.从大到小的降序sql怎么写?越来越小

$sql = "SELECT id,content FROM search ORDER BY id desc";

7.mysqli_query遍历出来的数据要转化为数组才能运行.

$row=mysqli_fetch_array($result)

解析:因为foreach不支持mysqli_query数据直接输出

1.cyg.php

代码如下(示例):

<?php
$link=mysqli_connect('localhost','root','','a');
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,'utf8');
$sql="select * from search";
$result=mysqli_query($link,$sql);//运行sql
?>
<!--显示的效果-->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <table border="1" cellpadding="5">
    <tr>
      <td>id</td>
      <td>标题</td>
      <td>内容</td>
    <?php 
      while ($row=mysqli_fetch_array($result)) {//把对象变成数组输出,不然会报错哦
    ?>
    <tr>
      <td><?=$row['id'];?></td>
      <td><?=$row['content'];?></td>
    </tr>
    <?php 
    }
    ?>
    <td><a href="create.php">创建才能排序哦</a></td>
      <td><a href="asc.php">升序</a></td><!--从小到大-->
      <td><a href="desc.php">降序</a></td><!--从大到小-->
    </tr>
  </table>
</body>
</html>

2.create.php

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <form action="create.php" method="POST">
  <input type="text" name="id">
    <input type="text" name="content">
    <input type="submit" value="提交">
  </form>
</body>
</html>
<?php
if(!$_POST['content']||!$_POST['id'])
{
exit();
}
$content=$_POST['content'];
$id=$_POST['id'];
$link=mysqli_connect('localhost','root','','a');
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,'utf8');
$sql = "INSERT INTO search(id,content)
VALUES ('{$id}','{$content}')";
$result=mysqli_query($link,$sql);
echo "<script>alert('创建成功');</script>";
?>
<button><a href="cyg.php">返回</a></button>

2.asc.php

<?php
$link=mysqli_connect('localhost','root','','a');
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,'utf8');
$sql = "SELECT id,content FROM search ORDER BY id";
$result=mysqli_query($link,$sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <table border="1" cellpadding="5">
    <tr>
      <td>id</td>
      <td>标题</td>
      <td>内容</td>
    <?php 
      while ($row=mysqli_fetch_array($result)) {//把对象编程数组输出,不然会报错哦
    ?>
    <tr>
      <td><?=$row['id'];?></td>
      <td><?=$row['content'];?></td>
    </tr>
    <?php 
    }
    ?>
    <td><a href="create.php">创建才能排序哦</a></td>
      <td><a href="asc.php">升序</a></td><!--从小到大-->
      <td><a href="desc.php">降序</a></td><!--从大到小-->
    </tr>
  </table>
</body>
</html>

2.desc.php

<?php
$link=mysqli_connect('localhost','root','','a');
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,'utf8');
$sql = "SELECT id,content FROM search ORDER BY id desc";
$result=mysqli_query($link,$sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <table border="1" cellpadding="5">
    <tr>
      <td>id</td>
      <td>标题</td>
      <td>内容</td>
    <?php 
      while ($row=mysqli_fetch_array($result)) {//把对象编程数组输出,不然会报错哦
    ?>
    <tr>
      <td><?=$row['id'];?></td>
      <td><?=$row['content'];?></td>
    </tr>
    <?php 
    }
    ?>
    <td><a href="create.php">创建才能排序哦</a></td>
      <td><a href="asc.php">升序</a></td><!--从小到大-->
      <td><a href="desc.php">降序</a></td><!--从大到小-->
    </tr>
  </table>
</body>
</html>

总结

讲解完了,谢谢大家的访问。

相关文章
|
2月前
|
设计模式 算法 PHP
PHP中的设计模式:策略模式的深入探索与实践在软件开发的广袤天地中,PHP以其独特的魅力和强大的功能,成为无数开发者手中的得力工具。而在这条充满挑战与机遇的征途上,设计模式犹如一盏明灯,指引着我们穿越代码的迷雾,编写出更加高效、灵活且易于维护的程序。今天,就让我们聚焦于设计模式中的璀璨明珠——策略模式,深入探讨其在PHP中的实现方法及其实际应用价值。
策略模式,这一设计模式的核心在于它为软件设计带来了一种全新的视角和方法。它允许我们在运行时根据不同情况选择最适合的解决方案,从而极大地提高了程序的灵活性和可扩展性。在PHP这门广泛应用的编程语言中,策略模式同样大放异彩,为开发者们提供了丰富的创作空间。本文将从策略模式的基本概念入手,逐步深入到PHP中的实现细节,并通过一个具体的实例来展示其在实际项目中的应用效果。我们还将探讨策略模式的优势以及在实际应用中可能遇到的挑战和解决方案,为PHP开发者提供一份宝贵的参考。
|
2月前
|
PHP
深入浅出PHP之文件上传功能
【9月更文挑战第26天】本文将带你了解PHP中的文件上传功能,从基本概念到实战操作,一步步教你如何实现文件上传。我们将通过代码示例和详细的解释,让你轻松掌握这一技能。
|
2月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。
|
3月前
|
数据处理 PHP 开发者
PHP中实现简易计算器功能
【8月更文挑战第31天】在编程的世界里,将理论应用到实践是检验知识掌握程度的试金石。本文将通过一个简单的PHP项目——构建一个简易计算器,引导你理解PHP的基本语法及其在实际应用中的运用。我们将从零开始,逐步搭建起这个计算器,并在过程中加深对PHP数据处理和函数使用的理解。无论你是初学者还是希望温故而知新的开发者,这篇文章都将为你提供一次愉快的编程之旅。
|
3月前
|
Cloud Native PHP Docker
PHP中实现简易计算器功能
【8月更文挑战第31天】本文深入浅出地介绍了云原生技术中的一个重要组成部分—Docker容器。通过实际案例,我们将一起探索如何将应用容器化,并部署到云端。文章不仅涵盖了Docker的基本操作和概念,还提供了详细的代码示例,帮助初学者快速上手。让我们一起开启云原生技术的奇妙旅程吧!
|
4月前
|
编译器 PHP 开发者
深入PHP 7新特性:性能优化与功能增强
【7月更文挑战第15天】本文将深入探讨PHP 7版本中引入的一系列新特性,重点分析这些特性如何对PHP应用的性能进行优化和对功能进行增强。我们将从类型声明的引入、抽象语法树(AST)的改进、到性能提升的各个方面进行剖析,并通过实际代码示例来展示这些新特性的应用。文章旨在为PHP开发者提供一份详尽的指南,帮助他们更好地利用PHP 7的新特性来构建更快、更稳定的应用程序。
48 9
|
5月前
|
大数据 PHP 开发者
深入PHP 7新特性:性能优化与功能增强
【6月更文挑战第19天】在PHP 7的发布中,开发者社区迎来了一系列令人振奋的性能提升和功能增强。本文将深入探讨这些变化如何影响了PHP的应用开发,特别是性能优化方面的细节,如改进的Zend引擎、新增的运算符以及错误处理机制的变革等。我们还将一探究竟,看看这些更新如何使得PHP继续在Web开发领域中保持其竞争力。
|
5月前
|
缓存 Java 编译器
PHP 8的新特性:性能与功能的双重提升
【6月更文挑战第9天】PHP 8携JIT编译器提升性能,引入类型推导和命名参数增强功能。JIT编译器提高执行速度,性能比PHP 7.4提升10%-15%。类型推导增强类型安全性,命名参数提升代码可读性。其他改进包括函数调用优化、垃圾回收机制改进及字符串和数组处理优化,实现性能与功能双重提升,为开发者带来更高效、可靠的PHP体验。
|
4月前
|
存储 PHP 索引
|
5月前
|
存储 安全 关系型数据库
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性