首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在链接中发送带有查询字符串的$_POST

如何在链接中发送带有查询字符串的$_POST
EN

Stack Overflow用户
提问于 2016-02-27 04:06:24
回答 1查看 4.3K关注 0票数 0

这是php代码,它检查表单(在同一页上)是否已发布,并根据$_POST数组获取结果(如果已发布)或返回数据库中的所有结果。这还设置了$total变量,其中包含后来用于分页的number_of_pages。

代码语言:javascript
复制
if(!isset($_POST['search']))
{

$id = (isset($_GET['id']) ? $_GET['id'].'0' : 10);
$id = $id-10;
$query  = "select SQL_CALC_FOUND_ROWS * from feedbacks order by Date desc limit $id, 10 ";
}
else if (!empty($_POST['from']))
{

$timstmp = strtotime($_POST['from']);
$dt = date("Y-m-d H:i:s", $timstmp);

$id = (isset($_GET['id']) ? $_GET['id'].'0' : 10);
$id = $id-10;
$query = "SELECT SQL_CALC_FOUND_ROWS * FROM `feedbacks` WHERE `Date` >= \"$dt\" order by Date desc limit $id, 10 ";
}
else if (!empty($_POST['name']))
 {

$name = '%'.$_POST['name'].'%';

 $id = (isset($_GET['id']) ? $_GET['id'].'0' : 10);
$id = $id-10;
$query = "SELECT SQL_CALC_FOUND_ROWS * FROM `feedbacks` WHERE `name` LIKE  '$name' order by Date desc limit $id, 10 ";
}
 $result= mysqli_query($connection, $query);

$r =  mysqli_fetch_array(mysqli_query($connection, 'SELECT FOUND_ROWS()'));
$total = ceil($r['FOUND_ROWS()']/10);

$feedbacks = array(); 
for ($i = 0;$row= mysqli_fetch_assoc($result); $i++)
{
    $feedbacks[$i] = new FeedBack($row);
}


?>

这些html链接是根据根据数据库的结果计算的页面总数自动生成的。

代码语言:javascript
复制
<?php
if ($total>1)
{ ?> <div class="pagging">
<?php     for( $i=$total; $i>=1; $i--)
{ ?>

                        <div class="right">
                            <a id="pagination" href="index.php?id=<?php echo $i; ?>"><?php echo $i; ?></a>
                        </div>

                    <?php } ?>
                     </div>
            <?php       } ?>
                </div>
                <!-- Table -->

在这个页面上,我正在实现过滤器。用户输入表单中的数据并按下搜索,因此根据$_POST数组加载不同的结果,并将包含num_of_pages的变量$total修改为php代码的第1块。现在,第一页使用偏移量0或ofset = id 10 - 10显示数据库中的前10项结果(如果设置了id,则使用ofset=id 10-10),但问题是,它仅适用于默认结果,即当显示所有结果并没有应用过滤器时,但当用户通过过滤后的第1 10筛选结果进行搜索时,用户单击下一页并不起作用,因为如果在上述php代码中的条件下,$_POST是未设置的,这是由php检查的。因此,我的问题是,如何将$_POST[]与id一起发送以使其工作。任何帮助都将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-27 04:10:00

您不能通过链接发送POST变量。你得用GET。

代码语言:javascript
复制
<a href="some_page.php?<?=http_build_query($assc_array);?>">Link</a>
//the link will reflect some_page.php?name1=value1&name2=value2...etc

在PHP端,使用$_GET或$_REQUEST变量,而不是$_POST。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35665520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档