gpt4 book ai didi

php - 返回基于二维数组内容的 mysql 查询

转载 作者:行者123 更新时间:2023-11-29 22:37:23 25 4
gpt4 key购买 nike

让我先解释一下:

我正在开展一个小项目,我在 Google map 中围绕一个城市放置了一个不确定的半径。我在 mysql 数据库中有一个表,其中包含所有城市及其纬度和经度坐标(绘制圆所需的)。

对于此应用程序的用户,我已对其进行了设置,因此他们所需要做的就是按以下格式添加城市和州:city_st

一个字符串将包含所有需要的城市:$parseLocations = "苏城_ia, alabaster_al, boise_id, atlanta_ga";

我的问题是,虽然它适用于该字符串中的第一个项目,但其他项目都没有从数据库中提取,即使在我看来,我拥有的 $sql 变量正在请求正确的信息。这是循环运行的,所以我很困惑为什么第一个项目工作正常,但其他项目都没有。

感谢您的帮助

<?PHP

$user = 'root';
$password = 'password';
$db = 'interactionDesign';
$host = 'localhost';
$port = 8889;
$conn = (mysqli_connect($host, $user, $password, $db));
if (!$conn) {
die("Connection failed. " . mysqli_connect_error());
}
echo "Connected successfully." . "<p>";


// break out the string of locations
$parseLocations = "sioux city_ia, alabaster_al, boise_id, atlanta_ga";
$locations = explode(',', $parseLocations);


// break city_st into separate array values, add to 2 dim array
for ($x = 0; $x < count($locations); $x++) {
$point[$x] = explode('_', $locations[$x]);
}


//loop through 2 dim array, echo values
for ($l_row = 0; $l_row < count($point); $l_row++) {

for ($l_col = 0; $l_col < 2; $l_col++) {
echo $l_row . " " . $l_col . " " . $point[$l_row][$l_col] . "<BR>";
}



$city = $point[$l_row][0];
$state = $point[$l_row][1];
$sql = "SELECT lat, lng, city, state FROM zipCodes WHERE city=\"$city\" and state_abb=\"$state\"";

$result = mysqli_query($conn, $sql);

print_r($conn);
echo "<p>";
print_r($sql);
echo"<BR>";

$row = mysqli_fetch_assoc($result);

echo "<P>" . $row["city"] . ", " . $row["state"] . ": " . $row["lat"] . " " . $row["lng"] . " <--- From Database" . "<p>";



}

?>

最佳答案

我猜主要问题是你的逗号分隔字符串中有空格。

这个:

$parseLocations = "sioux city_ia, alabaster_al, boise_id, atlanta_ga";

explode()改为:

array("sioux city_ia", " alabaster_al"," boise_id", " atlanta_ga")

注意数组中除第一项之外的所有项开头的空格。

如果你这样做:

$parseLocations = "sioux city_ia,alabaster_al,boise_id,atlanta_ga";

您应该获得您期望的数组值。

话虽这么说,我不知道为什么,如果您一开始就对城市/州值进行硬编码,那么您不会只是将其硬编码到可用的数组中,例如:

$locations = array(
array('city' => 'some value', 'state' => 'some other value'),
...
);

并节省所有爆炸和其他字符串操作以获得可行的数据结构。

关于php - 返回基于二维数组内容的 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29499420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com