Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 如何在mysqli查询中使用从GET接收的数组数据_Php_Mysqli - Fatal编程技术网

Php 如何在mysqli查询中使用从GET接收的数组数据

Php 如何在mysqli查询中使用从GET接收的数组数据,php,mysqli,Php,Mysqli,我通过GET将几个邮政编码(通过以前的lat/long搜索检索)和其他数据传递到另一个页面,该页面将从包含地址中邮政编码的数据库检索所有列表 因此,url如下所示: http://blahblahblah.com/listings.php?date=2015-10-23&zc=0=23547&1=28456&2=27678 我的问题是如何在db查询中循环使用这些邮政编码?如果给很多ZipCode,那么为每个邮政编码运行单独的查询似乎会非常费力 $zc = array()

我通过GET将几个邮政编码(通过以前的lat/long搜索检索)和其他数据传递到另一个页面,该页面将从包含地址中邮政编码的数据库检索所有列表

因此,url如下所示:

http://blahblahblah.com/listings.php?date=2015-10-23&zc=0=23547&1=28456&2=27678
我的问题是如何在db查询中循环使用这些邮政编码?如果给很多ZipCode,那么为每个邮政编码运行单独的查询似乎会非常费力

$zc = array(); //initiate the array
$zc[0] = $_POST['zip']; // Add the starting zip code to the array

mysqli_query($conn, "select * zip_code within a certain range of lat and lng");
// return results
while($row = mysqli_fetch_assoc($sql)){
  $zip = $row['db_zip'];
  array_push($zip);
}
这就是我如何将信息输入数组的方法。在这之后,它开始构建URL,以便在日历上显示一个链接,该链接对应于一个月中有列表的每一天

//A ton of other stuff then 
//echo the link using html_build_query() to add the zips to the get parameters.
echo '<a href="listing.php?date='.$l_date.'&zc='.http_build_query($zc).'">'.$d_count.'</a>';
//那么还有很多其他的东西
//使用html_build_query()回显链接,将拉链添加到get参数中。
回声';

然后我开始处理下一页上的信息,这是我真正困惑的地方。

listings.php?date=2015-10-23&zc[]=23547&zc[]=28456&zc[]=27678

像这样使用php的内爆函数 $tmp=内爆(“,”,$zc)

然后


从邮政编码所在的表中选择*($tmp)

好吧,伙计们,考虑到我最终可能通过的邮政编码的数量,GET是行不通的

Mike给出的解决方案确实是正确的,但是,必须通过会话将邮政编码传递到下一页

像这样:

$_SESSION['zc'] = $zc;
然后使用查询中的内爆数据内爆阵列:

        $tmp = implode(", ", $_SESSION['zc']);

        $sql = mysqli_query($conn, "SELECT * FROM listingss WHERE zipcode IN ($tmp) AND l_date = '$date'");

从邮政编码所在的表格中选择*(235472845627678)你没有。你需要这个URL:
listings.php?date=2015-10-23&zc[]=23547&zc[]=28456&zc[]=27678
@Mike OK Mike,我喜欢,这肯定会让它变得简单,但我用什么来分解数组呢?或者我可以用类似SELECT*这样的东西从邮政编码所在的表中($zc[])?很抱歉,我真的没有混合数组,因为某种原因,我无法理解数组以及如何解析它们。@Abracadver我正在使用http\u build\u query()我试图按照您指定的方式构建url,但它抛出了错误,所以我使用http\u build\u query()取而代之的是它弹出的URL。@user3154948我不确定您使用的是哪个数据库API,但假设是PDO,下面是如何将未知数量的参数绑定到查询:SQL注入呢?