我用php+mysql查询数据库,我想用 order by 变量,怎么实现.
比如在A情况下,我打算orderby$A在B情况下,打算orderby$B$item="A或B有效关键字";select*fromdatawhereId='$id'ord...
比如在A情况下,我打算order by $A
在B情况下,打算order by $B
$item = "A或B有效关键字";
select * from data where Id='$id' order by '$item'
而且我还需要升降排序
select * from data where Id='$id' order by '$item' desc 展开
在B情况下,打算order by $B
$item = "A或B有效关键字";
select * from data where Id='$id' order by '$item'
而且我还需要升降排序
select * from data where Id='$id' order by '$item' desc 展开
3个回答
展开全部
拼字符串啊
$sql='select * from data where Id='.$id.' order by '.$item.' desc';
然后执行$sql就行了
$sql='select * from data where Id='.$id.' order by '.$item.' desc';
然后执行$sql就行了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
//设置级别错误,通知类除外
error_reporting('E_ALL&~E_NOTICE');
/**1---传入页码,使用GET获取**/
$page=$_GET['p'];
/**2---根据页码取出数据:php->mysql处理**/
$host="localhost";
$username="root";
$password="root";
$db="db4";
$mysql_table="person";
$table_guanjianzi="think";
$pageSize=10;
$showPage=5;
//连接数据库,面向过程
$conn=mysqli_connect($host,$username,$password);
if(!$conn){
echo "数据库连接失败";
exit;
}
//选择所要操作的数据库
mysqli_select_db($conn,$db);
//设置数据库编码格式
mysqli_query($conn,"SET NAMES UTF8");
//编写sql获取分页数据 SELECT * FROM 表名 LIMIT 起始位置,显示条数
//注意:以下id,name,age,say都是字段节点名,person是表名,db4是数据库名,think是指定的关键字.
$sql = "SELECT id, name, age, say
FROM person
WHERE say LIKE '%{$table_guanjianzi}%' order by id ASC LIMIT ".($page-1)*$pageSize .",{$pageSize}"; //双引号能包单引号,反过来不行,会出错./
// $sql = 'SELECT id, name, age, say
// FROM person
// WHERE say LIKE "%'think'%" order by id ASC LIMIT '.($page-1)*$pageSize .",{$pageSize}";
// 节点名 关键字 节点名 可指定数量limit后可写一个指定的数字
//$sql="select * from $mysql_table"
//$sql='select * from data where Id='.$id.' order by '.$item.' desc';
//把sql语句传送到数据库
$result=mysqli_query($conn,$sql);
//将数据显示到table中,并未table设置格式
echo "<div class='content'>";
echo "<table border=1 cellspacing=0 width=30% align=center>";
echo "<tr><td>ID</td><td>NAME</td><td>say</td></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['name']}</td>";
echo "<td>{$row['say']}</td>";
echo "<tr>";
}
echo "</table>";
echo "</div>";
//释放结果
mysqli_free_result($result);
//关闭数据库
mysqli_close($conn);
//设置级别错误,通知类除外
error_reporting('E_ALL&~E_NOTICE');
/**1---传入页码,使用GET获取**/
$page=$_GET['p'];
/**2---根据页码取出数据:php->mysql处理**/
$host="localhost";
$username="root";
$password="root";
$db="db4";
$mysql_table="person";
$table_guanjianzi="think";
$pageSize=10;
$showPage=5;
//连接数据库,面向过程
$conn=mysqli_connect($host,$username,$password);
if(!$conn){
echo "数据库连接失败";
exit;
}
//选择所要操作的数据库
mysqli_select_db($conn,$db);
//设置数据库编码格式
mysqli_query($conn,"SET NAMES UTF8");
//编写sql获取分页数据 SELECT * FROM 表名 LIMIT 起始位置,显示条数
//注意:以下id,name,age,say都是字段节点名,person是表名,db4是数据库名,think是指定的关键字.
$sql = "SELECT id, name, age, say
FROM person
WHERE say LIKE '%{$table_guanjianzi}%' order by id ASC LIMIT ".($page-1)*$pageSize .",{$pageSize}"; //双引号能包单引号,反过来不行,会出错./
// $sql = 'SELECT id, name, age, say
// FROM person
// WHERE say LIKE "%'think'%" order by id ASC LIMIT '.($page-1)*$pageSize .",{$pageSize}";
// 节点名 关键字 节点名 可指定数量limit后可写一个指定的数字
//$sql="select * from $mysql_table"
//$sql='select * from data where Id='.$id.' order by '.$item.' desc';
//把sql语句传送到数据库
$result=mysqli_query($conn,$sql);
//将数据显示到table中,并未table设置格式
echo "<div class='content'>";
echo "<table border=1 cellspacing=0 width=30% align=center>";
echo "<tr><td>ID</td><td>NAME</td><td>say</td></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['name']}</td>";
echo "<td>{$row['say']}</td>";
echo "<tr>";
}
echo "</table>";
echo "</div>";
//释放结果
mysqli_free_result($result);
//关闭数据库
mysqli_close($conn);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询