2017-03-25 8 views
-2
function post_data($update_data){ 
    $session_user_id = $_SESSION ['user_id']; 

    $user_data = user_data($session_user_id, 'username', 'email'); 
    $email= $user_data['email']; 

    $update= array(); 

    array_walk($update_data, 'array_sanitize'); 

    foreach ($update_data as $field => $data) { 
     $update[] = '`'. $field . '` =\''.$data .'\''; 
    } 

    mysql_query("UPDATE `user_post` SET " . implode(', ', $update) . " WHERE `email` = '$email' ORDER BY date_added DESC "); 

} 

こんにちは、上記の関数はmysqlテーブルを更新します。コードが実行されると、最後に挿入された順に表示されます。日付によるPHPの更新の順序が機能していない

これは、テーブルから値をフェッチするコードです。

$query = mysql_query("SELECT * FROM user_post WHERE `username` = '$get_user' ORDER BY date_added DESC LIMIT 3 "); 
$newsCount = @mysql_num_rows($query); // count the output amount 

if ($newsCount > 0) { 

    while($row = mysql_fetch_assoc($query)){ 
     $id = $row["id"]; 
     $username = $row["username"]; 
     $body =  $row["body"]; 
     $profile_pix = $row["profile_pix"]; 
     $date_added = strftime("%b %d, %Y", strtotime($row["date_added"])); 
    } 

} 

ありがとうございます。

+1

キャップを小文字/ラクダのケースに変更しても問題ありませんか?それは私が更新での注文を知っているもののために –

+0

と叫んだと考えられています..無意味です..更新は何の順序もなしに起こります...エラーを生成する必要があります – scaisEdge

+0

その保留中の編集を見てhttp://stackoverflow.com/review/suggested-編集/ 15640993 - それはあなたの仕事であり、他の仕事ではありません。 –

答えて

0

テーブルに「created_at」列を追加して、「created_at」でクエリを並べ替えることができると思います。

+0

I'v something 'date_added' – bammy

+0

'date_added'の* datatype *はDATEまたはDATETIME(おそらくVARCHAR)ではなく、列に格納された値は標準ではありません(ORDER BY例えば ​​"March 25、2017"や "3/27/17"のような "date time"シーケンスの値は返されません。この答えは、 'created_at'カラムがDATETIMEとして宣言されていることを示唆しています。 TIMESTAMP。 – spencer7593

+0

Spencerが正しいかもしれません。データ型が問題になる可能性があります。DATEを使用している可能性があります.DATETIME。その場合、日付は注文されません。同じ日に作成されたユーザー。 – Peyu

関連する問題