ホームページ  >  記事  >  バックエンド開発  >  PHPに実装されたソート機能のまとめ

PHPに実装されたソート機能のまとめ

WBOY
WBOY転載
2022-06-20 12:06:071442ブラウズ

この記事では、PHP に関する関連知識を提供し、主にソート関数に関する関連問題を紹介し、サンプルを通じて php mysqli ソート関数の実装を完了します。みんなが助けてくれることを願っています。

PHPに実装されたソート機能のまとめ

推奨学習: 「PHP ビデオ チュートリアル

全員と協力して、php mysqli の並べ替え関数の実装を完了します。

1. 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 */;

2. 使用手順

主な質問:
1. データベースに接続するにはどうすればよいですか?

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

分析: データベースへのリンク、コンピュータのローカル アドレス上の localhost。データベース ソフトウェア ユーザー名: root、パスワード ""、データベース名: a
2. リンクされたデータベースの文字コードを設定するにはどうすればよいですか?

mysqli_set_charset($link,'utf8');

漢字が文字化けしないように、この utf8 エンコードを設定してください。
3. PHP で SQL を実行するにはどうすればよいですか?

mysqli_query($link,$sql);

分析: 最初のパラメーターは、データベース リンクによって割り当てられる変数です。 2 番目のパラメータは SQL ステートメントの変数

4 です。insert ステートメントに変数を記述するにはどうすればよいですか?

$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(&#39;localhost&#39;,&#39;root&#39;,&#39;&#39;,&#39;a&#39;);
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,&#39;utf8&#39;);
$sql="select * from search";
$result=mysqli_query($link,$sql);//运行sql

?>
<!--显示的效果-->
<!DOCTYPE html>
<html>
<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[&#39;id&#39;];?></td>
<td><?=$row[&#39;content&#39;];?></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>
<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[&#39;content&#39;]||!$_POST[&#39;id&#39;])
{
exit();
}
$content=$_POST[&#39;content&#39;];
$id=$_POST[&#39;id&#39;];

$link=mysqli_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;&#39;,&#39;a&#39;);
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,&#39;utf8&#39;);
$sql = "INSERT INTO search(id,content)
VALUES (&#39;{$id}&#39;,&#39;{$content}&#39;)";
 
$result=mysqli_query($link,$sql);
echo "<script>alert('创建成功');</script>";
?>
<button><a href="cyg.php">返回</a></button>

2.asc.php

<?php
$link=mysqli_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;&#39;,&#39;a&#39;);
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,&#39;utf8&#39;);
$sql = "SELECT id,content FROM search ORDER BY id";
 
$result=mysqli_query($link,$sql);

?>
<!DOCTYPE html>
<html>
<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[&#39;id&#39;];?></td>
<td><?=$row[&#39;content&#39;];?></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(&#39;localhost&#39;,&#39;root&#39;,&#39;&#39;,&#39;a&#39;);
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,&#39;utf8&#39;);
$sql = "SELECT id,content FROM search ORDER BY id desc";
 
$result=mysqli_query($link,$sql);

?>
<!DOCTYPE html>
<html>
<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[&#39;id&#39;];?></td>
<td><?=$row[&#39;content&#39;];?></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>

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPに実装されたソート機能のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。