當我刷新頁面或按頁面底部的鏈接移動到下一頁或上一頁時,我想保留$orderby
和$orderSort
(查詢內)。通過刷新保留提交的數據
我試圖連接orderby
和orderSort
到會議,但沒有因查詢工作 - 它總是回覆到來自這似乎是與isset($_POST['submit'])
一個問題else語句名稱和ASC,但我沒有它已經嘗試同樣的問題仍然存在。
當我進入下一頁或上一頁時,如何保留我的查詢(只要選擇沒有改變)?
熱門PHP部分:
//Next Page
if (!isset($_GET['startrow']) or !is_numeric($_GET['startrow'])) {
$startrow = 0;
} else {
$startrow = (int)$_GET['startrow'];
}
//when options are selected/submitted
if(isset($_POST['submit']))
{
if($_POST['select'] == "EventType")
{
$orderby = $_POST['select'];
if($_POST['otherType'] != "Select an Event") {
$EventType = 'WHERE `' . $orderby . '`="' . $_POST["otherType"] . '"';
}
}
else
{
$orderby = $_POST['select'];
}
$orderSort = $_POST['agree'];
}
else
{
$orderby = "Name";
$orderSort = "ASC";
}
if ($stmt = $local->prepare("SELECT * FROM importdata $EventType ORDER BY `$orderby` $orderSort LIMIT ?,10")) {
$stmt->bind_param('i', $startrow);
$stmt->execute();
$Recordset1 = $stmt->get_result();
$row_Recordset1 = $Recordset1->fetch_assoc();
$stmt->close();
}
提交表單:
<form id="form1" name="form1" method="post" enctype="multipart/form-data">
<label for="select">Order By:</label>
<select name="select" id="selectType">
<option value="EventType">Event</option>
<option value=" Name"selected="selected">Race Name</option>
</select>
<label><input type="radio" name="agree" value="ASC" checked>Ascend</label>
<label><input type="radio" name="agree" value="DESC">Descend</label>
<input type="submit" name="submit" value="Submit">
</form>
底部PHP的下一頁/上一頁
<?php
$prev = $startrow - 10;
if ($prev >= 0)
echo '<a href="'.htmlspecialchars($_SERVER["PHP_SELF"], ENT_QUOTES, "utf-8").'?startrow='.$prev.'">Previous </a>';
echo '<a href="'.htmlspecialchars($_SERVER["PHP_SELF"], ENT_QUOTES, "utf-8").'?startrow='.($startrow+10).'"> Next</a>';
?>
什麼是錯的會話變量?我認爲這是在服務器上保留設置的事實上的方法。爲每個請求設置orderBy和orderSort會話變量,如果它們不在請求中,則使用會話變量作爲查詢。 –
嘗試在查詢之前放置if語句--- if(!$ _ SESSION ['orderby']或!$ _ SESSION ['orderSort']){---。這種方式只會在沒有設置會話變量的情況下運行。 – Rich701