我将此代码作为获取列表的函数,但是使用ORDER BY代码它不起作用(不会返回任何内容)。我怎么去订购呢?我看过其他人如何做的工作,但我不能让它发挥作用。
<?php
function getGenericList($conn, $limit) {
$sql = "SELECT * FROM `jobs_current` LIMIT ".$limit." ORDER BY `jobs_current`.`school` ASC";
$query = $conn->prepare($sql);
$query->execute();
$count = $query->rowCount();
if($count == 0){
return '<td class="td1"></td><td class="td2" style="color: red;">Sorry, there doesnt seem to be any results!</td><td class="td3"></td>';
}
$end = "";
foreach ($conn->query($sql) as $row) {
$end = $end.'<tr class="hoverOver"><td class="td1"><a href="/jobview.php?id='.$row['id'].'">'.$row['school'].'</a></td>';
$end = $end.'<td class="td2"><a href="/jobview.php?id='.$row['id'].'">'.$row['job_type'].'</a></td>';
$end = $end.'<td class="td3"><a href="/jobview.php?id='.$row['id'].'">'.$row['location'].'</a></td></tr>';
}return $end;
}
?>
为什么它不按照定义的顺序返回行?我使用phpmyadmin生成查询,所以我不明白为什么它不起作用。
答案 0 :(得分:4)
您查询语法错误,正确的写入方式是先ORDER然后LIMIT:
"SELECT * FROM `jobs_current` ORDER BY `jobs_current`.`school` ASC LIMIT ".$limit.""