【问题标题】:Blogs Cannot Be Sorted Properly博客无法正确排序
【发布时间】:2017-06-17 20:39:00
【问题描述】:

我正在尝试建立一个博客,但现在它们首先按类别排序,然后按 id 排序。现在,我有 2 个循环,一个用于类别,一个用于博客。博客的循环属于其中一个类别。

我希望博客仅按 id 排序。因此,每当我发布博客时,我都希望它出现在第一位,无论它是什么类别。你能给我一个关于如何修改我的代码的建议吗:

    <?php 
            include_once("../forum/connect.php");
    $sql = "SELECT * FROM blogcategories ORDER BY category DESC";
    $res = mysql_query($sql) or die(mysql_error());
    $blogs = "";
    if(mysql_num_rows($res) > 0){
        while($row = mysql_fetch_assoc($res)){
          $id = $row['id'];
          $category = $row['category'];

            $sql2 = "SELECT * FROM blog WHERE blogcategories='".$id."' ORDER BY id DESC";
            $res2 = mysql_query($sql2) or die(mysql_error());
            if(mysql_num_rows($res2) > 0){

              while($row2 = mysql_fetch_assoc($res2)){

                 $tid = $row2['id'];
                 $title = $row2['title'];
                 $image = $row2['image'];
                 $excerpt = $row2['excerpt'];                             
          $blogs .= "


            <hr>
                <h1>".$title."</h1>   
                <img src=".$image." alt=".$title.">
                <p class='description'>".$excerpt."</p>

       <!--------BUTTON READ MORE-------->

       <div id='hovers'>
        <a href='blog_view.php?cid=".$id."&tid=".$tid."' class='button' target='_blank'>
            <span class='contentbut'> Read More</span>
        </a>
    </div>
    ";         
        }
      }
    }

    echo $blogs; 
}
  ?> 

【问题讨论】:

    标签: php mysql sql database loops


    【解决方案1】:

    将结果放入任何其他数据结构并对其进行排序。使用 php 标准库。

    【讨论】:

    • 您有什么建议吗?
    • 其实查询结果应该是排序的。我认为当您使用第一个查询的结果来操作第二个查询时会出现问题。
    • 是的。问题来自两个 while 循环,但没有它们我无法做到。回显结果是什么意思。我认为 Echo $blogs 就是结果。
    • 所以这意味着简单的博客没有排序。 $all_data = 数组(); $sql = "SELECT blah FROM blah"; $result = mysql_query($sql);而 ($row = mysql_fetch_array($result, MYSQL_NUM)) { $all_data[] = $row; } // $all_data 现在是一个包含所有数据的二维数组。 usort($all_data, "比较");
    • function compare($a, $b) { // 假设你在 bar 字段上排序 return strcmp($a['bar'], $b['bar']); }
    猜你喜欢
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2021-09-14
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多