2017-10-14 21 views
0

私は誰でもアカウントを作成せずに何でも投稿できるウェブサイトを作成しようとしています。私の問題は、私がウェブサイトを開始して何かを投稿するたびに発生するからです。最下位に送信され、最古の投稿が上部にあり、新しい投稿が上部に送信されます。代わりに新しい投稿をトップに表示したいこれは私のコードが悪く見えるように、一般的なPHP、mySQL、データベースを使って初めてのことです。より多くの情報/コードが必要な場合は教えてください。あなたの時間をありがとう。PHP mySQL日付で並べ替え

$sql = "SELECT * FROM post ORDER BY date DESC"; 

参考: - - :あなたは以下のようなODRER BY句を使用する必要があり

<?php 
function setPosts($conn){ 
    if(isset($_POST['postSubmit'])){ 
     $pid = $_POST['pid']; 
     $date = $_POST['date']; 
     $message = $_POST['message']; 

     $sql= "INSERT INTO post(pid, date ,message) VALUES ('$pid', '$date', '$message');"; 
     $result = mysqli_query($conn, $sql); 
    } 
} 

function getPosts($conn){ 
    $sql = "SELECT * FROM post"; 
    $result = mysqli_query($conn, $sql); 
    while($row = $result->fetch_assoc()){ 
     echo "<div class='post-box'>"; 
     echo $row['date']."<br>"; 
     echo nl2br($row['message'])."<br><br>"; 
     echo "</div>"; 
    } 
} 
+0

タイプにorder.replaceのmysqlのクエリを降順で日付と秩序それによってmysqlの結果をソートする必要がある、とあなたは答えを得た... – CBroe

+0

答えがあなたの問題を解決した場合は、答えを受け入れることを検討してください。ここでは、[meta.stackexchange.com/questions/5234/...](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)の方法がここに戻り、同じことをしますそれが緑色に変わるまでチェック/マークを付けます。これはコミュニティに通知し、解決策が見つかりました。そうでなければ、他の人は質問がまだ開いていると思うかもしれませんし、(もっと)回答を投稿したいかもしれません。あなたはポイントを獲得し、他の人はあなたを助けることを奨励されます。 *スタックへようこそ! –

答えて

2

ODRER BY clause

を注: -あなたinsersionコードがSQL Injectionのための広いオープンしています。それを防ぐにはmysqli prepared statementsを使用してください。

参考: - あなたはそれをソートするために、あなたの"SELECT""ORDER BY"を追加する必要がmysqli::prepare

+0

うわー、私は本当に馬鹿だと感じさせます。しかし、これを読んで私の質問に答える時間をとってくれてありがとう。 –

+0

@SpaceOctopusを使用するか、phpで配列を並べ替えることができます。また、私の好みの方法では、JavaScriptを使って表示順序を処理できます。 – Strawberry

+0

@SpaceOctopusあなたを助けてうれしい:) :) :)メモセクションもご注意ください。 –

1

$sql = "SELECT * FROM post ORDER BY date DESC"; 

"DESC"がありますので、新しい投稿が上に表示されます。古い投稿が上に表示されるようにしたい場合は、"ASC"を使用します。

+0

これも正しいです+ 1 –

1

あなたがグーグルに「mysqlの並べ替え」この

$sql = "SELECT * FROM post SORT BY date order BY DESC"; 
+0

これも正しい+ 1 –

0
function getPosts($conn){ 
    $sql = "SELECT date,message FROM post ORDER BY date DESC"; 
    $result = mysqli_query($conn, $sql); 
    while($row = $result->fetch_assoc()){ 
     echo "<div class='post-box'>"; 
     echo $row['date']."<br>"; 
     echo nl2br($row['message'])."<br><br>"; 
     echo "</div>"; 
    } 
} 
関連する問題