我目前正在制作一个活动日历,允许用户在日期和日期之间进行排序。地点和日期&的地方。
这是我用于订单的代码:
$order = isset($_GET['sort'])?$_GET['sort']:'date_added';
$result = mysqli_query($con,"SELECT * FROM calendar ORDER BY $order");
$sql = mysql_query($query);
现在,当您点击一个按钮时,它会设置将用于排序的变量,如此
onclick="location.href=' index.php?sort=date&place'"
现在这很有效,但是当我开始我的活动日历时,它是空白的...我怎样才能为我的日历提供默认订单?
以下是日历输出的代码:
echo "<table class='table table-striped' >
<thead>
<tr>
<th>Artist</th>
<th>Place</th>
<th>Date</th>
<th>Genre</th>
</tr>
</thead>";
while($row = mysqli_fetch_array($result))
{
$date = $row['date'];
$convdate = date('d-m-Y', strtotime($row['date']));
echo "<tr>";
echo "<td>" . $row['artist'] . "</td>";
echo "<td>" . $row['place'] . "</td>";
echo "<td>" . $convdate . "</td>";
echo "<td>" . $row['genre'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
答案 0 :(得分:1)
这样的正确设置顺序。但是有一些mysql_query没有意义。放弃它。 出于安全原因(SQL注入),在使用查询之前,我会使用它来转义字符串。
$order = isset($_GET['sort']) ? $_GET['sort'] : 'date_added';
$order = mysqli_real_escape_string($con, $order);
$result = mysqli_query($con,"SELECT * FROM calendar ORDER BY $order");
答案 1 :(得分:1)
字段的名称是“日期和地点”吗?
请注意URL中的&符号应该被转义,因为如果不是$ _GET将把“place”作为另一个不同的参数。
答案 2 :(得分:0)
如何为我的日历提供默认订单?
“默认订单”是什么意思?
$ order = isset($ _ GET ['sort'])?$ _ GET ['sort']:'date_added'; $ result = mysqli_query($ con,“SELECT * FROM calendar ORDER BY $ order”); $ sql = 的mysql_query($查询);
永远不要将未经测试的值传递给sql语句。
onclick =“location.href ='index.php?sort = date&amp; place'”
这不会导致$ _GET ['sort'] =='date&amp; place',&amp;在url中标记一个新变量。