mysql select を使用して、特定の列「カテゴリ」に id が含まれる結果のみを返そうとしています。たとえば、フィールドに「1,2,4」がある場合があります。変数を使用して、その ID がフィールドに存在するかどうかを確認したいと思います。
これまでのコード:
function returnSQLByCategory($criteria) {
$lat = $criteria['lat'];
$lng = $criteria['lng'];
$categoryid = $criteria['categoryid'];
$page_number = $criteria['page_number'];
$nb_display = $criteria['nb_display'];
//if($page_number=='') $page_number=1;
//if($nb_display=='') $nb_display=10;
$start = ($page_number*$nb_display)-$nb_display;
$sql = "SELECT company, name, lng, lat, address, city, country, zip, link,
( 3959 * acos( cos( radians('".mysql_real_escape_string($lat)."') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('".mysql_real_escape_string($lng)."') ) + sin( radians('".mysql_real_escape_string($lat)."') ) * sin( radians( lat ) ) ) ) AS distance
FROM locations WHERE categoryid LIKE '%$categoryid%'";
$sql .= " ORDER BY distance";
return $sql;
}
これは機能しておらず、categoryid '1' にある行しか表示されないため、'1' を返す必要があります。ステートメント「2」または例を手動で入力すると、意図したとおりに機能します!
ありがとうございます。