0
所以基本上我有网站,可以检查关闭的城市名称。我将它们保存到一个密钥下的本地存储中。然后我通过Ajax将它们发送到我的php脚本下面。然后在PHP中,我将城市变量分解为“,”,并根据给定的城市对城市进行过滤。但现在我只知道如何手动执行此操作,例如城市[0],城市[1]等。有没有办法将这些变量放入mysql语句中,具体取决于有多少个变量?如果我感到困惑,我很抱歉,我完全失去了知觉。任何帮助,将不胜感激。如何更改mysql语句取决于多少变量与PHP
这里是我的代码:
<?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);
?>
凡在比手动输入要好得多。 – 2012-03-30 00:01:53
没关系,那么这将是最好的方式吗? – 2012-03-30 00:06:19
当我尝试这个,它没有返回任何结果,这是MySQL查询跑了SELECT lat,lng,id,rep,rep_num,name,city,state,zip,address,status,category,size FROM医院WHERE(city IN Abington))LIMIT 0,50 null – 2012-03-30 00:14:27