Php排序头SQL查询 [英] Php sort header SQL query

查看:87
本文介绍了Php排序头SQL查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码,但mysql查询保持给出错误,我试图使用标题列来升序/降序排序但不起作用。



给出以下消息:



您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行附近使用正确的语法





任何帮助都将是很棒。



我尝试过:



< pre lang =PHP> 
< pre>函数进程(){
global $ DatabaseServer,$ DatabaseUser,$ DatabasePswd,$ DatabaseName,$ AgentPin;
$ cn = mysqli_connect($ DatabaseServer,$ DatabaseUser,$ DatabasePswd,$ DatabaseName);
$ sql =SELECT pin.username,pendingindex。* FROM pin join sorttest ON pin.AgentID = sorttest.AgentID join pendingindex ON sorttest.pendreckey = pendingindex.pendreckey ORDER BY。 $ sort。 。 $ SORT_ORDER;


//将id设置为默认排序(你可以设置除id之外的东西)
$ sort =(isset($ _ GET ['sort']))? $ _GET ['sort']:'pendreckey';

//定义排序顺序
$ sort_order ='asc';
if(isset($ _ GET ['sort_by'])){
if($ _ GET ['sort_by'] =='asc'){
$ sort_order ='desc';
} else {
$ sort_order ='asc';
}
}

//查询表
$ query = mysqli_query($ cn,$ sql)或die(mysqli_error($ cn));
$ keys = mysqli_fetch_array($ query,MYSQLI_ASSOC);

// html table
echo< table border ='1'>;

//打印出表格列
echo< tr>;
foreach(array_keys($ keys)as $ key){
switch($ sort){
case $ key:
$ order_by = $ key;
休息;
}

if($ sort == $ key){
echo< td bgcolor = white>< a href ='?sort = $ key& sort_by = 。 $ sort_order。 > $密钥LT; / A>< / TD>中;
} else {
echo< td bgcolor = white>< a href ='?sort = $ key& sort_by =。 $ sort_order。 > $密钥LT; / A>< / TD>中;
}
}

echo< / tr>;

//打印出表格内容
$ query = mysqli_query($ cn,$ sql);
while($ row = mysqli_fetch_array($ query,MYSQLI_ASSOC)){
echo< tr>;
foreach($ row as $ rows){
echo< td> 。 $行。 < / TD> 中;
}
echo< / tr>;
}

echo< / table>;

echo'< br>< br>< br>';
}

解决方案

DatabaseServer,


DatabaseUser,


DatabasePswd,

I have the below code, but mysql query keeps given an error, I am trying to use the header column to sort ascending/descending but doesn't work.

Gives the following message:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


any help would be great.

What I have tried:

<pre lang="PHP">
<pre>function process() {
	global $DatabaseServer, $DatabaseUser, $DatabasePswd, $DatabaseName, $AgentPin;
	$cn=mysqli_connect($DatabaseServer, $DatabaseUser, $DatabasePswd, $DatabaseName);
	$sql = "SELECT pin.username, pendingindex.* FROM pin join sorttest ON pin.AgentID = sorttest.AgentID join pendingindex ON sorttest.pendreckey = pendingindex.pendreckey ORDER BY" . $sort . " " . $sort_order;


// sets id as default sort (you can set something else than id)
$sort = (isset($_GET['sort'])) ? $_GET['sort'] : 'pendreckey';

// define sort order
$sort_order = 'asc';
if(isset($_GET['sort_by'])) {
 if($_GET['sort_by'] == 'asc') {
  $sort_order = 'desc';
 } else {
  $sort_order = 'asc';
 }
}

// query table
$query  = mysqli_query($cn,$sql) or die(mysqli_error($cn));
$keys   = mysqli_fetch_array($query, MYSQLI_ASSOC);

// html table
echo "<table border='1'>";

// print out table columns
echo "<tr>";
foreach(array_keys($keys) as $key) {
 switch($sort) {
  case $key :
   $order_by = $key;
   break;
 }

 if($sort==$key) {
  echo "<td bgcolor=white><a href='?sort=$key&sort_by=" . $sort_order . "'>$key</a></td>";
 } else {
  echo "<td bgcolor=white><a href='?sort=$key&sort_by=" . $sort_order . "'>$key</a></td>";
 }
}

echo "</tr>";

// print out table contents
$query  = mysqli_query($cn,$sql);
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
 echo "<tr>";
 foreach($row as $rows) {
  echo "<td>" . $rows . "</td>";
 }
 echo "</tr>";
}

echo "</table>";
  
echo '<br><br><br>';
    }

解决方案

DatabaseServer,


DatabaseUser,


DatabasePswd,


这篇关于Php排序头SQL查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆