php - 如何根据php变量的数量来更改mysql语句

标签 php mysql

所以基本上我有一个网站,其中包含可以检查的城市名称。我将它们一键保存到本地存储中。然后我通过 Ajax 将它们发送到下面的 php 脚本。然后在 php 中,我将城市变量分解为“,”,并根据给定的城市过滤城市。但现在我只知道如何手动执行此操作,例如 city[0]、city[1] 等。有没有一种方法可以根据变量的数量不断将这些变量放入 mysql 语句中?如果我感到困惑,我很抱歉,我完全迷路了。任何帮助,将不胜感激。

这是我的代码:

<?php
$con = mysql_connect("localhost", "test", "test") or die('could not connect to mysql');

mysql_select_db("test", $con) or die('could not find database');


$city2 = $_POST['city2'];

$cities = explode(",", $city2);

$rep2 = $_POST['rep2'];

$status2 = $_POST['status2'];

$size2 = $_POST['size2'];

$type2 = $_POST['type2'];

$lat2 = $_POST['lat2'];

$long2 = $_POST['long2'];

$radius2 = $_POST['radius2'];

if ($city2 == '') {
    $city_stat = " city RLIKE '.*' ";
} else {
    $city_stat = " (city='$cities[0]' OR city='$cities[1]') ";

}


if ($radius2 == '') {
    $radius_stat = '10';
} else {
    $radius_stat = $_POST['radius2'];

}


if ($size2 == '') {
    $size_stat = '';
} else {
    $size_stat = " AND size='$size2' ";

}

if ($rep2 == '') {
    $rep_stat = '';
} else {
    $rep_stat = " AND rep='$rep2' ";

}


if ($status2 == '') {
    $status_stat = '';
} else {
    $status_stat = " AND status='$status2' ";

}



$result = mysql_query("SELECT lat,lng,id,rep,rep_num,name,city,state,zip,address,status,category,size FROM test WHERE $city_stat $rep_stat $size_stat $status_stat LIMIT 0 , 50 ");

while ($array = mysql_fetch_assoc($result)) {
    $array_json[] = $array;




}


echo json_encode($array_json);
?>

最佳答案

我认为您要问的是,可能存在数量可变的城市,并且您想要设置一个条件,该城市可以是其中任何一个。

所以代替:

$city_stat = " (city='$cities[0]' OR city='$cities[1]') ";

你可以这样做:

$city_stat = '(city IN ('.implode(',',$cities).'))';

关于php - 如何根据php变量的数量来更改mysql语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9935147/

相关文章:

php - 将变量从 php while 循环传递给 javascript 函数

mysql - 使用键盘快捷键停止 MySQL 查询

php & mysql - 遍历单行的列并将值传递到数组

python - Django 错误 : No module named _mysql

mysql - 您可以创建迁移以在 Rails 3 中使用 "where"条件更改数据吗

javascript - 如何修改Pusher中的成员(member)信息?

没有值的 JavaScript 克隆

javascript - 提交后如何清除表单

php - azure 的PHP导入

mysql - 查询以获取所有用户 Y 的兴趣主题,其中 Y 与用户 X 共享 >=3 个兴趣