2017-12-12 5 views
0

ich bauphp mysql app für vorstellungsgespräche, und ich möchte für admin filer mit bootstrap panels, die nach datum in der gleichen farbspalte sortiert sind.bootstrap panels sortierung nach datum mit 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 mit Haupt Panal oder ohne

ich dieses: enter image description here

Da Stackoverflow rot Nachricht mich ständig um weitere Informationen zu fragen, kann ich alle meine PHP-Code

+0

Was haben Sie versucht, die Reihenfolge zu ändern? –

+0

Hallo Vedran, ich habe eine Antwort hinzugefügt. Bitte lassen Sie mich wissen, wenn dies hilfreich war –

Antwort

0

nicht gesetzt Sie können dies in Ihrer MySQL-Abfrage tun.

Beispiel:

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; 

Weitere Informationen finden Sie hier: https://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html oder https://www.w3schools.com/sql/sql_orderby.asp

Wenn Sie diese nach innen tun PHP Sie sortieren können:

<?php 

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

?> 

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Früchte [0] = Apfelfrüchte [1] = Bananenfrüchte [2] = Zitrone Früchte [3] = Orange

Mehr Informationen über PHPsort() : http://php.net/manual/en/function.sort.php

+0

Vielen Dank für die schnelle Antwort, aber das ist nicht, was ich suche. Ich denke, es ist eine komplexere Lösung. Ich hole bereits alle Zeilen aus der Datenbank. Ich möchte Paneele nach Daten in drei Spalten mit Hauptfeld oder ohne Hauptfeld bestellt haben –

+0

In diesem Fall müssen Sie eine sehr intelligente Foreach in einer Foreach verwenden. Versuchen Sie, eine andere, sauberere Lösung für diese Situation zu finden. Es könnte ein Schmerz in den Arsch sein. Wann immer ich eine Foreach in einer Foreach habe, versuche ich zusätzliche Arrays zu erstellen. –