0

終わり方がわからないものを始めました。「ブログ」というテーブルを作成しました。ブログ テーブルには、列がありますdate。関数を使用して、date()この列「1360225336」を取得します。

年ごとのアーカイブと月ごとのアーカイブが必要です。

-2013

9.9月 . . . 3.3月 2.2月 1.1月

-2012

12.12月 . . . 3.3月 2.2月 1.1月

  <?php


        $query_o = mysql_query("SELECT * FROM `blog`")or die(mysql_error());

        while($row_o = mysql_fetch_assoc($query_o)){

        $new_date_y = date("Y", $row_o[date]);
        $new_date_m = date("n", $row_o[date]);


    $query_h = mysql_query("SELECT * FROM `blog` where date = $new_date_y ")or die(mysql_error());

    while($row_h = mysql_fetch_assoc($query_h)){

    $new_date_m1 = date("n", $row_o[date]);

echo'<ul>$new_date_y</ul>';
echo'<li>$new_date_m1</il>';
}



        }
    ?>
4

4 に答える 4

1

これを試して

$result = mysql_query("select distinct YEAR(date) as year from blog ") or die(mysql_error());

$years = array();

while($row = mysql_fetch_assoc($result))
      $years[] = $row['year'];

$one_year_posts = array();

foreach($years as $year){
    echo $year."<br/>";
    //echo "select * from blog where YEAR(date) = '$year'";
     $result1 = mysql_query("select * from blog where YEAR(date) = '$year'") or die(mysql_error());

     while($row1 = mysql_fetch_assoc($result1))
      $one_year_posts[] = $row1;

     foreach($one_year_posts as $post){
     //echo $post['date']."<br>";
      $months.=  date('m F',strtotime($post['date'])).", ";

  }
  echo $months = rtrim($months," ,");
}
于 2013-09-16T13:04:48.737 に答える
0

多くの新しいことを試した後、ついに成功しました

<?php


$result = mysql_query("select distinct FROM_UNIXTIME(date,'%Y') as year from blog ") or die(mysql_error());

$years = array();

while($row = mysql_fetch_assoc($result))
$years[] = $row['year'];

$one_year_posts = array();

foreach($years as $year){



$result1 = mysql_query("select distinct FROM_UNIXTIME(date,'%M') as m from blog where FROM_UNIXTIME(date,'%Y') = '$year'") or die(mysql_error());

$ms = array();

while($row1 = mysql_fetch_assoc($result1))
$ms[] = $row1['m'];

$one_year_posts = array();

foreach($ms as $m){

$date= $year;
$date.= " ";
$date.= $m;

echo <<<PRINT
     <li><a href='search.php?archie=$date'>$date</a></li>
PRINT;

}


}
?>
于 2013-09-16T19:23:56.397 に答える
0
$result = mysql_query("select distinct FROM_UNIXTIME(date,'%Y') as year from blog ") or die(mysql_error());

$years = array();

while($row = mysql_fetch_assoc($result))
      $years[] = $row['year'];

$one_year_posts = array();

foreach($years as $year){
    echo "<br/>-".$year."<br/>";
     $result = mysql_query("select * from blog where FROM_UNIXTIME(date,'%Y') = '$year'") or die(mysql_error());

     while($row = mysql_fetch_assoc($result))
      $one_year_posts[] = $row;

     foreach($one_year_posts as $post){
        echo strftime('%d %B',$post['date']).", ";
  }
}

注: mysql_ 関数の代わりに mysqli_ を使用してください。後者は推奨されておらず、メンテナンスされていません。

于 2013-09-16T11:55:02.967 に答える