我有一个包含两个字段的数据库:current和previous。
以下是代码:
<?
$username="*****";
$password="*****";
$database="******";
mysql_connect(localhost,$username,$password) or die("Unable to connect to server");
mysql_select_db($database) or die( "Unable to select database");
$query='SELECT * FROM tasks WHERE current=1 OR previous=1';
$result=mysql_query($query);
$num=mysql_num_rows($result);
mysql_close();
?>
然后输出并按照以下方式操作:
<div class="tasklist">
<div class="currentProject">
Current Project:
</div>
<?
$i=0;
while ($i < $num) {
$title=mysql_result($result,$i,"Title");
$link=mysql_result($result,$i,"Weblink");
$description=mysql_result($result,$i,"Description");
$id=mysql_result($result,$i,"ID");
$howto=mysql_result($result,$i,"howto");
$blogpost=mysql_result($result,$i,"blogpost");
$done=mysql_result($result,$i,"done");
$current=mysql_result($result,$i,"current");
$previous=mysql_result($result,$i,"previous");
if ( $current == 1 ) {
$current = "current";
} else {
$current = "";
}
if ( $previous == 1 ) {
$previous = "previous";
} else {
$previous = "";
}
?>
<div class="<? echo $done ?> task <? echo $id ?>" id="<? echo $current.$previous ?>">
<div class="titleWrapper">
<div class="title">
<a class="article" href="<? echo $link ?>"><? echo $title ?></a>
</div>
</div>
</div><BR>
<?
$i++;
}
echo "</div>";
?>
问题是,由于之前在数据库中的当前时间之前,它输出先前的然后输出当前。
问题:
如何确保首先输出current
,然后previous
?
答案 0 :(得分:1)
不是直接输出它们,而是存储它们,直到你实际拥有它们,然后以正确的顺序输出。
答案 1 :(得分:0)
只需将其附加到您的查询order by previous
。
只要当前任务注册表具有previous=0
且以前的任务注册表具有previous=1
,它就必须正常工作。