使用会话登录时取消设置查询

时间:2015-02-09 11:29:49

标签: php mysql

以有效用户身份登录会话时,我可以为我们运行的事件选择三个选项。一个选项选择是“进行中”,另一个选项选择是“已完成”,另一个选项是“已取消”。我的查询按order_date ASC对事件进行排序。这非常适合“进行中”活动。

但是,当我们选择显示可能已完成的事件时,现在有很多事件(6年),我们希望这些已完成的事件显示DESC(这会将最新事件放在顶部)。只是为了随时保存向下滚动,我们需要查看已完成的事件(最新的事件将在底部)

我创建了一个reverse_date_order.php文件,并复制了原始代码格式event_search_results,它按照ASC顺序显示了所有事件。

由于这是在SESSION新文件中完成的,因此我已锚定链接,但仍以相同的ASC顺序显示事件。

我试过UNSET($variable),但我对这个问题没有运气。

问题在于,即使我的名为reverse_date_order.php的新文件具有在

中排序DESC的代码
$query .= " ORDER BY `order_date` DESC";

事件仍以ASC顺序显示,这不是我们想要的。

我想这与会话有关,但我不确定如何修复它。

注意:如果事件恰好已完成或取消,我需要将订单设为DESC - 不是 - ASC只需要ASC当事件正在进行时。

<?php
session_start();
if (isset($_SESSION['valid_user']))
{
?>
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL & -E_NOTICE);
$training_practise_area = "Training practise area";
$search = " ";
$franchise_name = " ";
$progress_state = " ";
$order_date = " ";
$venue = " ";
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>
Event search results
</title>
</head>
<body>
<?php
require ('menu.php');
?><table(code removed here) Event Search Results</strong>
</td>
</tr>
<tr><td colspan='7'>
You are logged in as: 
<?php echo $_SESSION['valid_user']; ?>
<br />
<a href="logout.php">Logout</a>
</td>
</tr>   
<?php
Database Connection(Not Shown but correct)

if(!isset($_SESSION['event_search']))
{
$query= "SELECT * FROM `events` WHERE ";

$search = $_POST['search'];

if($_POST['franchise_name'] != 'all')
{
$franchise_name=$_POST['franchise_name'];
if (!get_magic_quotes_gpc())
{
$franchise_name = addslashes($franchise_name);
}
if(eregi("'$", $query))
{
$query.= $search;
}
$query.= "`franchise_name` = '$franchise_name'";
}
else
{
if(eregi("'$", $query))
{
$query.= $search;
}
$query.= "`events_id` >= '1'";
}

if($_POST['progress_state'] != '')
{
$progress_state=$_POST['progress_state'];
if (!get_magic_quotes_gpc())
{
$progress_state = addslashes($progress_state);
}
if(eregi("'$", $query))
{
$query.= $search;
}
$query.= " `progress_state` = '$progress_state'";
}

if($_POST['order_date'] != '')
{
$order_date=$_POST['order_date'];
if (!get_magic_quotes_gpc())
{
$order_date = addslashes($order_date);
}
if(eregi("'$", $query))
{
$query.= $search;
}
$query.= " `order_date` = '$order_date'";
}

if($_POST['venue'] != '')
{
$venue=$_POST['venue'];
if (!get_magic_quotes_gpc())
{
$venue = addslashes($venue);
}
if(eregi("'$", $query))
{
$query.= $search;
}
$query.= " `venue` LIKE '%$venue%'";
}

$thefranchise = $_SESSION['valid_user'];
if($thefranchise == $training_practise_area)
$query .= " AND `franchise_name` = '$thefranchise'";
else
$query .= " AND `franchise_name` != '$training_practise_area'";

$query .= " ORDER BY `order_date` ASC";
}
else
{
$query = $_SESSION['event_search'];
}

$_SESSION['event_search'] = $query;
echo $query;// was commented out
$res=mysql_query($query); 
?>
<tr>
<td><strong>Territory</strong></td>
<td><strong>Date</strong></td>
<td><strong>Venue</strong></td>
<td colspan='4'><a href="reverse_date_order.php">Reverse Date Order</a></td>
</tr>
<?php
while ($row = mysql_fetch_array($res))
{
echo "<tr><td>".$row['franchise_name'];
echo "</td><td>";
echo " ".$row['order_date'];
echo "</td><td>";
echo " ".$row['venue'];
echo "</td><td>";
?>
<FORM ACTION="view_event.php" METHOD="post">
<INPUT TYPE="hidden" NAME="events_id" VALUE="<?php echo $row['events_id'];?">
<INPUT TYPE="submit" VALUE="View event details">
</FORM>`

0 个答案:

没有答案