Php 如何在mysqli查询中使用从GET接收的数组数据
我通过GET将几个邮政编码(通过以前的lat/long搜索检索)和其他数据传递到另一个页面,该页面将从包含地址中邮政编码的数据库检索所有列表 因此,url如下所示: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()
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注入呢?