如何在链接中使用查询字符串发送$ _POST

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

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("Ymd 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链接

 1) { ?> 
=1; $i--) { ?>
<a id="pagination" href="https://stackoverflow.com/questions/35665520/how-can-i-send-post-with-query-string-in-a-link/index.php?id=">

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

您无法通过链接发送POST变量。 你需要使用GET。

 Link //the link will reflect some_page.php?name1=value1&name2=value2...etc 

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