を見つけた私はこのようなコードを持っている:PHP&MySQLのCOUNTとORDERが
function search_keyword(){
$keyword = $this->db->escape_like_str(trim($_POST['keyword']));
$sql = " (SELECT name, id_global_info AS id, body AS body, tag AS tag ,info_type_id AS info_type, \"global_info\" AS mytable FROM global_info WHERE ";
$sql .= " MATCH (name, body, tag) AGAINST ('$keyword') ";
$sql .= ") UNION ALL ";
$sql .= " (SELECT name, id_person AS id, surname AS body, info AS tag , location AS info_type, \"person\" AS mytable FROM person WHERE ";
$sql .= " MATCH (name, surname, info) AGAINST ('$keyword') ";
$sql .= ") UNION ALL ";
$sql .= "(SELECT name, id_event AS id, body AS body, caffe_id AS tag , date AS info_type, \"event\" AS mytable FROM event WHERE ";
$sql .= " MATCH (name, body) AGAINST ('$keyword') ";
$sql .= ") UNION ALL ";
$sql .= "(SELECT name, id_caffe AS id, description AS body, adress AS tag, location_id AS info_type, \"caffe\" AS mytable FROM caffe WHERE ";
$sql .= " MATCH (name, description) AGAINST ('$keyword') ";
$sql .= ") ";
$q = $this->db->query($sql);
return $q = $q->num_rows() == 0 ? FALSE : $q->result();
}
をどのように私は、行ごとの結果の数をカウントして、カウント結果によってそれらを注文することができますか?
例:名前車を持っていて、車には名前の車があり、車には単語車が7回、2列目に車が2回現れています。私はどのくらい多くの時間の車が見つけられたのかを数え、その結果によって結果を注文したいと思う。
叫び、データベース、叫び声。 –
私は質問を更新しました。 OZ私はMySQLの初心者です。今のところこの方法は私のために働いていますが、もう少しMySQLを学ぶと、私はそのクエリをリメイクします。いずれにしても、クエリを修正する方法はありますか? – Sasha
PHPを使用した方が良いと思います。 – wisefish