Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用数组_intersect_Php_Mysql_While Loop_Array Intersect - Fatal编程技术网

Php 使用数组_intersect

Php 使用数组_intersect,php,mysql,while-loop,array-intersect,Php,Mysql,While Loop,Array Intersect,我有两张桌子。 一个有企业名单和地址的 另一个是邮政编码及其经纬度列表。 我有一个表单,它接受一个邮政编码和一些英里数来检查半径 所有radius的东西都来自我在网上找到的脚本。 我需要的是回显半径范围内的企业条目 到目前为止,我有两个问题。 一个获取数据库中所有条目的邮政编码 另一个获取我在表单中输入的范围内的所有Zipcode 我正在使用array_intersect查找匹配的。 我的问题是它只返回找到的第一个条目。 我肯定我需要一个循环来做这个,但我不知道怎么做 代码段: $in

我有两张桌子。 一个有企业名单和地址的 另一个是邮政编码及其经纬度列表。 我有一个表单,它接受一个邮政编码和一些英里数来检查半径

所有radius的东西都来自我在网上找到的脚本。 我需要的是回显半径范围内的企业条目

到目前为止,我有两个问题。 一个获取数据库中所有条目的邮政编码 另一个获取我在表单中输入的范围内的所有Zipcode

我正在使用array_intersect查找匹配的。 我的问题是它只返回找到的第一个条目。 我肯定我需要一个循环来做这个,但我不知道怎么做

代码段:

     $insideRadius = array_intersect($data, $zipArray);
$data是business表中的所有邮政编码。
$zip数组是范围内的所有邮政编码。

您不能只选择在$zipArray中列出zipcode的企业吗

“从zipcode所在的业务中选择*”(.inplade(“,”,$zipArray)。”)”

在PHP中,您可以这样运行它:

$result = mysql_query("SELECT * FROM business WHERE zipcode IN (" . implode(",", $zipArray) . ")");
while ($row = mysql_fetch_assoc($result))
{
    echo $row["name"] . "<br />";
    echo $row["zipcode"] . "<br />";
} 
$result=mysql\u查询(“从zipcode所在的业务中选择*”(.inplade(“,”,$zipArray)。”);
while($row=mysql\u fetch\u assoc($result))
{
echo$row[“name”]。“
”; echo$row[“zipcode”]。“
”; }
我可能遗漏了一些东西,但如果你只知道邮政编码的坐标(而不是企业和地址),你怎么知道哪些是在x英里以内的。。。其中,带有long和lat的表格也有邮政编码。对不起,如果我没有这么说,那么你基本上想
加入他们的邮政编码吗?很好,但它只给了我一个条目仍然是的,我想我需要他们加入邮政编码。。。这里只有一条注释,它的作用是“从zip所在的条目中选择*”(.inplade(“,”,$zipArray)。”);是的,这很有效,但它只给了我1个条目,我的表中有2个条目。2个zipcodes,彼此之间的距离在5英里以内,并且仅显示查询匹配的第一个zipcodes。如果执行此查询,则必须循环查询结果。在每次迭代中只能获取一行。你能试试这个查询吗?如果它不起作用,发布执行查询的PHP代码并循环查询结果。试着从一些MySQL客户端手动运行它(比如
SELECT*from business WHERE zipcode IN(100200300)
)检查问题是在查询中还是在php代码中。@DevinPrejean:您是指$zipArray?您能否将打印($zipArray)
的输出添加到您的问题中?我手动运行了它,但它仍然只提取第一个。我想我确实需要一段时间。我需要弄清楚,我不想听起来像一个彻头彻尾的傻瓜,但如果我有一段时间没有做过,我会很快忘记事情。我已经写了一年左右的php代码了。