2017-12-12 5 views
0

私は仕事の面接のためのPHPのmysqlアプリを構築していますが、同じ色の列に日付順に並べ替えられたブートストラップパネルのadminファイラーが必要です。メインPanal付きまたはブートストラップパネルの日付によるPHPの並べ替え

なし

$db = connectPDO(); 
    $query = ("SELECT razgovori.*, djelatnik.ime, djelatnik.prezime 
     FROM razgovori INNER JOIN djelatnik 
     ON djelatnik.id = razgovori.insert_by 
     ORDER BY datum_raz ASC"); 

    $stmt = $db->prepare($query); 
    $stmt->execute(); 
    $count = $stmt->rowCount(); 
    $row = $stmt->fetch(PDO::FETCH_ASSOC); 
    $date = strtotime($row['datum_raz']); 
    $twoDaysAgoStart = strtotime('-2 day 00:00:00'); 
    $yesterdayEnd = strtotime('yesterday 23:59:59'); 
    $todayStart = strtotime('today 00:00:00');  
    $todayEnd = strtotime('today 23:59:59'); 
    $tomorrowStart = strtotime('tomorrow 00:00:00'); 
    $twoDaysAheadEnd = strtotime('+2 day 23:59:59'); 

    <div class="container"> 
    <div class="row"> 

    <?php while ($row = $stmt->fetch(PDO::FETCH_ASSOC)): ?> 

    <?php $date = strtotime($row['datum_raz']); ?> 

    <?php if ($twoDaysAgoStart < $date && $yesterdayEnd > $date): ?> 

    <!--Panel info if past time Job interviews--> 
    <div class="col-md-4 pull-left"> 
    <div class="panel panel-info"> 
    <div class="panel-heading"><h3 class="panel-title"><?php echo 
    datumVrijemeSQLuHR($row['datum_raz']); ?></h3></div> 
    <div class="panel-body"> 
     <div class="col-md-9"> 
     <h5><a href="editRazgovori.php?id=<?php echo $row['id']; ?>"><?php 
     echo $row['rime'].' '.$row['rprezime']; ?></a></h5>   
      <?php echo $row['kontakt_br']; ?> 
     </div> 
     <div class="col-md-3"> 
     <span class="label label-default pull-right"></h5><?php echo 
    $row['ime'].' '.$row['prezime']; ?></span> 
     </div> 
    </div> 
    </div>  
</div> 
<!--//Panel--> 
</tr> 
<tr> 
<!--Panel primary if Job interview is today--> 
<?php elseif ($todayStart <= $date && $todayEnd >= $date): ?> 
<div class="col-md-4"> 
    <div class="panel panel-primary"> 
    <div class="panel-heading"><h3 class="panel-title"><?php echo 
datumVrijemeSQLuHR($row['datum_raz']); ?></h3></div> 
    <div class="panel-body"> 
    <div class="col-md-9"> 
    <h5><a href="editRazgovori.php?id=<?php echo $row['id']; ?>"><?php echo 
$row['rime'].' '.$row['rprezime']; ?></a></h5>   
     <?php echo $row['kontakt_br']; ?> 
     </div> 
     <div class="col-md-3"> 
      <span class="label label-default pull-right"></h5><?php echo 
$row['ime'].' '.$row['prezime']; ?></span> 
      </div> 
    </div> 
    </div>  
</div> 
</tr> 
<tr> 
<!--Panel warning if Job interview is tomorrow--> 
<?php elseif ($tomorrowStart <= $date && $twoDaysAheadEnd >= $date): ?> 
<div class="col-md-4 pull-right"> 
    <div class="panel panel-warning"> 
    <div class="panel-heading"><h3 class="panel-title"><?php echo 
     datumVrijemeSQLuHR($row['datum_raz']); ?></h3></div> 
    <div class="panel-body"> 
     <div class="col-md-9"> 
     <h5><a href="editRazgovori.php?id=<?php echo $row['id']; ?>"><?php 
     echo $row['rime'].' '.$row['rprezime']; ?></a></h5>   
      <?php echo $row['kontakt_br']; ?> 
     </div> 
      <div class="col-md-3"> 
       <span class="label label-default pull-right"></h5><?php echo 
         $row['ime'].' '.$row['prezime']; ?></span> 
      </div> 

     </div> 
     </div>  
     </div> 
    <?php endif; ?> 


    <?php endwhile; ?> 

    </div><!--/row--> 
</div><!--/container--> 

I want to have sorted like this私はこれを取得:stackoverflowの赤のメッセージは常に詳細については私を求めているのでenter image description here

を、私は私のすべてのPHPコード

+0

注文を変更しようとしましたか? –

+0

こんにちはベドラン、iveは答えを加えました。これが役に立ったら教えてください –

答えて

0

を置くことができませんMySQLのクエリでこれを行うことができます。

例:

SELECT * FROM t1 
    ORDER BY key_part1, key_part2; 

SELECT * FROM t1 
    WHERE key_part1 = constant 
    ORDER BY key_part2; 

SELECT * FROM t1 
    ORDER BY key_part1 DESC, key_part2 DESC; 

SELECT * FROM t1 
    WHERE key_part1 = 1 
    ORDER BY key_part1 DESC, key_part2 DESC; 

SELECT * FROM t1 
    WHERE key_part1 > constant 
    ORDER BY key_part1 ASC; 

SELECT * FROM t1 
    WHERE key_part1 < constant 
    ORDER BY key_part1 DESC; 

SELECT * FROM t1 
    WHERE key_part1 = constant1 AND key_part2 > constant2 
    ORDER BY key_part2; 

詳しい情報はここで見つけることができます:https://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.htmlまたはhttps://www.w3schools.com/sql/sql_orderby.asp

あなたはPHP内でこれを実行したい場合は、並べ替えを使用することができます:

<?php 

$fruits = array("lemon", "orange", "banana", "apple"); 
sort($fruits); 
foreach ($fruits as $key => $val) { 
    echo "fruits[" . $key . "] = " . $val . "\n"; 
} 

?> 

上記の例では、出力は以下となります。

[0] =

果物リンゴ果実[1] =バナナ果実[2] =レモン果実[3] = オレンジ

詳細情報についてPHPsort()http://php.net/manual/en/function.sort.php

+0

ありがとうございました。しかし、それは私が探しているものではありません。私はもっ​​と複雑な解決策だと思う。私はすでにデータベースからすべての行をフェッチしています。メインパネルまたはメインパネルなしで3列の日付でパネルを注文したい –

+0

その場合、foreach内で非常にスマートなforeachを使用する必要があります。このような状況のために、より洗練された別のソリューションを見つけることを試みてください。それはお尻の痛みかもしれません。 foreachにforeachがあると、余分な配列を作成しようとします。 –

関連する問題