こんにちは、もう一度クエリを実行せずに、クエリから「order by」を実行する最良の方法は何ですか? フォームを使用して名前または姓を検索する必要がある場合、検索クエリがあるとします。例:
//Array for storing WHERE part of query
$where=array();
if(!empty($name)) AND !empty($surname)){
$where[]="Name LIKE '%$name%'" .
"AND Surname LIKE '%$surname%'";
}
elseif(!empty($name)){
$where[]="Name LIKE '%$name%'";
}
elseif(!empty($surname)){
$where[]="Surname LIKE '%$surname%'";
}
$where = implode(' AND ', $where);
$sql="SELECT Name,Surname FROM TABLE WHERE $where ORDER BY Name DESC";
$res = mysql_query($sql);
while ($row = mysql_fetch_array($res, MYSQL_NUM)) {
$name = $row[0];
$surname = $row[1];
echo"$name";
echo"$surname";
}
「Name LIKE %surname%」で検索した後、SQL クエリを再度実行せずに、名前または姓を ASC モード (ORDER BY Name ASC) で表示するにはどうすればよいですか? たとえば、「ich」単語を含む名前を検索すると、次のようにリストが表示されます。
MICHAEL
PICHAEL
XICHAEL
=> the ASC mode
XICHAEL
PICHAEL
MICHAEL
=> the DESC mode