PHPクエリの結果(個々のジョブリスト)のページがあります。私はORDER BY
を使用したいので、個人は期日、職名などのいずれかに基づいて結果を注文することができます。ページリロード時に_GET経由で取得されるphp変数を保持する
ユーザーが変数表のヘッダーをクリックすると問題が発生するようです。これによりページがリフレッシュされ、_GET
の変数は明らかに消えてしまいます。私はクッキーとして設定しようとしましたが、おそらく私はこれを正しく設定していないと考えています。
これは、ドキュメントの先頭にあります。
<?php
if($_SERVER['REQUEST_METHOD']=='GET' && isset($_GET['assignee'])){
$assignee = filter_input(INPUT_GET, 'assignee', FILTER_SANITIZE_STRING);
}
$assignee_name = $assignee;
setcookie($assignee_name, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
これはforeach
ループの前に直接PHP
次のとおりです。
<?php
$servername = "localhost";
$username = "jobs_usr1";
$password = "xxxxxxxxx";
$dbname = "jobs_users";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM `jobs_canjobs` WHERE assignee = \"$assignee\"";
$orderBy = array('job_numb', 'job_name', 'due_date', 'show_date', 'status');
$order = 'type';
if (isset($_GET['orderBy']) && in_array($_GET['orderBy'], $orderBy)) {
$order = $_GET['orderBy'];
}
if(isset($_COOKIE[$assignee_name])){
$sql = "SELECT * FROM `jobs_canjobs` WHERE assignee = \"$assignee_name\" ORDER BY $order";
}
$results = mysqli_query($conn, $sql);
?>
そして、結果テーブルに、テーブルヘッドの下で、私が持っていますこの:
<table>
<tr style="background-color: cadetblue">
<th><a href="?orderBy=job_numb"><b>Job ID#</b></a></th>
<th><a href="?orderBy=job_name"><b>Title</b></a></th>
<th><a href="?orderBy=due_date"><b>Due Date</b></a> | <a href="?orderBy=show_date"><b>Show Date</b></a></th>
<th><a href="?orderBy=status"><b>Status</b></a></th>
</tr>
<?php
foreach ($results as $result){
$job_numb = $result['job_numb'];
$assignee = $result['assignee'];
$job_name = $result['job_name'];
$due_date = $result['due_date'];
$show_date = $result['show_date'];
$status = $result['status'];
?>
<tr>
<td>
<p><?php echo $job_numb;?></p>
</td>
<td>
<p><?php echo $job_name;?></p>
</td>
<td>
<p><?php echo $due_date;?> | <?php echo $show_date;?></p>
</td>
<td>
<p><?php echo $status;?></p>
</td>
</tr>
<? php } ?>
</table>
並べ替えなし$order
、それはうまく動作しますが、一度誰かがth
をクリックすると、変数は消えてしまい、ページをリロードしてもそれを保持する方法がわかりません。
この変数をページに保存する方法はありますか?結果を表示するには再度参照できますか?クリックした後のURLには変数が含まれていないため、ページの更新がわかります。
ご協力いただければ幸いです。ありがとうございました。
は
クッキーまたはセッション。 – AbraCadaver
私はクッキーを使用しようとしていますが、私はそれを正しく実装したとは思いません。 – scoopzilla