Php 正在尝试解决查询中有关ORDER BY的问题
我创建了一个从查询中填充的HTML表,并将查询设置为按降序排序,但是查询运行,结果显示在表中,我无法获得降序运行的日期 已为名为walk_date的日期字段正确设置数据库。我还使用了Php 正在尝试解决查询中有关ORDER BY的问题,php,mysql,Php,Mysql,我创建了一个从查询中填充的HTML表,并将查询设置为按降序排序,但是查询运行,结果显示在表中,我无法获得降序运行的日期 已为名为walk_date的日期字段正确设置数据库。我还使用了strotime对日期进行了人性化排序 2012年10月5日 2012年10月7日 18.08.2012 21.10.2012 2012年9月22日 这是他们出来的顺序,下面是我的代码: <h1>A Photographic Diary</h1> <p>
strotime
对日期进行了人性化排序
2012年10月5日2012年10月7日
18.08.2012
21.10.2012
2012年9月22日 这是他们出来的顺序,下面是我的代码:
<h1>A Photographic Diary</h1>
<p> </p>
<div id="about-text">
<p>All walks are listed in order with the latest at the top. Walks can be filtered by area using the drop-down box. The abbreviated Area ID's are as follows:<br/>
YD - Yorkshire Dales<br/>
LD - Lake District<br/>
FB - Forest of Bowland<br/>
WPM - West Pennine Moors<br/>
PD - Peak District<br/>
LOC - Local<br/>
O - Other<br/></p>
</div>
<!--Selects walk area -->
<br /> <form id="form1" name="form1" method="post" action="walk_results.php">
<label>Area</label>
<select name="area_id">
<option value="">All</option>
<?php
$sql_result = mysql_query("SELECT * FROM walk GROUP BY area_id ORDER BY walk_date DESC");
while ($row = mysql_fetch_assoc($sql_result)) {
echo "<option value='".$row["area_id"]."'".($row["area_id"]==$_REQUEST["area_id"]? " selected" : "").">".$row["area_id"]."</option>";
};
?>
<!-- Submits walk area -->
</select>
</label>
<input type="submit" name="button" id="button" class="styled-button" value="Select Area" /></form>
<style type="text/css">
.styled-button {
-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
border-bottom-color:#333;
border:1px solid #6470ED;
background-color:#6470ED;
border-radius:3px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
color:#fff;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:12px;
text-shadow:#b2e2f5 0 1px 0;
padding:2px
}
</style>
</select>
</label>
<!-- Walk area results table -->
<div id= "result">
<br /><br />
<table width="900" border="1" cellspacing="1" cellpadding="4">
<tr>
<td width="84" bgcolor="#6470ED" align="center"><strong>Select Walk</strong></td>
<td width="75" bgcolor="#6470ED" align="center"><strong>Walk Date</strong></td>
<td width="360" bgcolor="#6470ED" align="center"><strong>Title</strong></td>
<td width="64" bgcolor="#6470ED" align="center"><strong>Distance (Miles)</strong></td>
<td width="85" bgcolor="#6470ED" align="center"><strong>Ascent</strong></td>
<td width="78" bgcolor="#6470ED" align="center"><strong>Time</strong></td>
<td width="67" bgcolor="#6470ED" align="center"><strong>Area Id</strong></td>
</tr>
<?php
if ($_REQUEST["area_id"]<>'') {
$search_area_id = "AND area_id='".mysql_real_escape_string($_REQUEST["area_id"])."'";
}
if ($_REQUEST["from"]<>'' and $_REQUEST["to"]<>''){
}
else {
$sql = "SELECT * FROM walk WHERE walk_id>\"\"".$search_string.$search_area_id ;
}
$sql_result= mysql_query ($sql) or die ('request"Error"'.$sql);
#echo "SQL $sql"; --- to view info ---
$clicked =$_REQUEST["area_id"];
$sql= "SELECT * FROM walk WHERE area_id = '$clicked'";
if (mysql_num_rows($sql_result)>0) {
while ($row = mysql_fetch_assoc($sql_result)) {
$id = $row['walk_id'];
$date_of_walk = $row['walk_date'];
$date_of_walk = date("d.m.Y", strtotime($date_of_walk));
#echo "id $id<br>"; --- to view info ---
?>
<!-- Table Results -->
<tr>
<td><?php echo "<a href='walk_info.php?walk_id=$id'>Select Walk"?></a></td>
<td><?php echo $row['walk_date']=$date_of_walk;?></td>
<td><?php echo $row["title"]; ?></td>
<td><?php echo $row["distance"]; ?></td>
<td><?php echo $row["ascent"]; ?></td>
<td><?php echo $row["time"]; ?></td>
<td><?php echo $row["area_id"]; ?></td>
</tr>
<?php
}
} else {
$row= mysql_fetch_assoc($sql_result);$sql_result= mysql_query ($sql);
?>
<tr><td colspan="5">No results found.</td>
<?php
}
mysql_close()?>
摄影日记
所有步行都按顺序列出,最新的在顶部。可以使用下拉框按区域过滤行走。缩写区域ID如下:YD-约克郡山谷
LD-湖区
FB-宝兰森林
WPM-西潘宁沼泽地
PD-山顶区
LOC-本地
O-其他
地区 全部的
更改在查询中使用
DESC
关键字
例如,如果这是您的查询
Select someDate from someTable ORDER BY someDate
换成
Select someDate from someTable ORDER BY someDate DESC
编辑:
好了,现在你已经展示了你的代码。下面是如何将上述内容应用于您的精确查询
SELECT * FROM walk WHERE walk_id ORDER BY walk_date={...} DESC
这就是它的全部内容。如果您将日期存储为标准的MySQL日期格式(YYYY-MM-DD),那么使用SQL就很简单了。只需在
ORDER BY
子句中使用DESC
关键字和walk_date
字段:
SELECT *
FROM table_name
ORDER BY walk_date DESC
如果您将日期存储为标准的MySQL日期格式(YYYY-MM-DD),那么使用SQL很简单。您可以包括您尝试使用的查询/调试吗?这实际上是一个日期/时间列,还是一个字符串?正如约翰所说,如果它是一个合适的日期类型,那么对它进行排序就很简单了。哇,你们在这个案子上@spajce,重新编辑:斜体字实际上仅用于自然语音中出现口语强调的地方,或用于突出显示(随后通常会定义)异常的术语谢谢,我已经试过了,我确信这是我正在运行的查询。有人能帮我吗?我一直在尝试跟踪代码的输入,并将其标记为无害,但它似乎没有任何作用。我确信有一个愚蠢的时刻,脚本是phpThanks。我已经尝试了通常的方法,并再次尝试,看看我是否愚蠢:-)我确信这是我的查询