mysql_fetch_array - 如果推荐==是先显示它

时间:2013-06-06 00:03:51

标签: php mysql

根据位置/距离/ w来构建一个输出搜索结果的页面,但是如果第一个结果属于搜索参数,我希望第一个结果是“推荐”页面。数据库中的每个条目都有一行“推荐”,是或否。

如果其==“是”则将背景更改为黄色,但是如果可能是列表中的第3,第6和第17个结果。我想要它所以它在搜索结果的顶部显示1推荐,然后是其余的和正常的。

到目前为止的搜索结果:

    while($row = mysql_fetch_array( $result )) {
    if ($row['recommended'] == "Yes") { 

        echo '<div id="results_box_site" style="background-color: #ffffdf;">';
}

        else {
                echo '<div id="results_box_site">';
        }

    echo '<a href="site.php?id=' . $row['site_ID'] . '"><img class="results_site_image" src="' . $row['site_logo'] . '" /></a>';
    echo '<h1><a href="site.php?id=' . $row['site_ID'] . '">' . $row['site_name'];
if ($row['recommended'] == "Yes") { 

        echo ' - Recommended site';
}
    echo '</a></h1>';
    echo '<h2>Next game date: ' . $row['next_game'] . '</h2>

        <img src="images/rating/5star.png" /> (rating 5/5 - 2 reviews)

        <p id="results_box_content">';
    echo $row['short_desc'];
    echo '<br/><br/><a href="site.php?id=' . $row['site_ID'] . '"> >> More information <<</a>
        </p>

        <h3 id="results_box_content">Facilities</h3>

        <div id="details">
            <ul>';
            echo '<li>' . $row['lunch'] . '</li>';
            echo '<li>' . $row['shop'] . '</li>';
            echo '<li>' . $row['toilets'] . '</li>';
            echo '<li>Minimum age: ' . $row['min_age'] . '</li>';
            echo '<li>Game Type: ' . $row['game_type'] . '</li>';
            echo '<li>Site Type: ' . $row['site_type'] . '</li>';
            echo '<li>' . $row['price'] . '</li>';
            echo '<li>' . $row['packages'] . '</li>';
            echo '</ul>
        </div>
    </div>';
} 

我知道凌乱的代码,但任何帮助都会被贬低

1 个答案:

答案 0 :(得分:3)

您想在查询中执行此操作。将其添加到查询的末尾:

ORDER BY `recommended` DESC

它将首先返回推荐的,然后是非推荐的one.s

这假定该列的有效值为“是”和“否”