微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP实现排序功能总结

本篇文章给大家带来了关于PHP的相关知识,其中主要介绍了关于排序功能的相关问题,通过实例完成PHP+MysqLi排序功能的实现,下面一起来看一下,希望对大家有帮助。

推荐学习:《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>
<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>
<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>
<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>
<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>

推荐学习:《PHP教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐