Php排序头SQL查询 [英] Php sort header SQL query
本文介绍了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屋!
查看全文