2012-01-27 11 views
2

次のコードでは、データを「名前」でソートするボタンまたはリンクを追加するにはどうすればよいですか?データをソートするボタンまたはリンクを追加するにはどうすればよいですか?

次のコードは単なる例であり、変更されたコードはhttp://fwebde.com/php/sqlite-php/です。コードの構造はとても楽しく、ソート要素で改善したいと思います。

ありがとうございます!

<?php 
$db = new PDO('sqlite:db.db'); 
if (isset($_POST['name']) && isset($_POST['message'])) { 
try { 
    $stmt = $db->prepare("INSERT INTO messages (name, message) VALUES (:name, :message);"); 
    $stmt->bindParam(':name', $name); 
    $stmt->bindParam(':message', $message); 

    $title = $_POST['name']; 
    $content = $_POST['message']; 
    $stmt->execute(); 
} catch (Exception $e) { 
    die ($e); 
} 
}try { 
$posts = $db->prepare('SELECT * FROM messages;'); 
$posts->execute(); 
} catch (Exception $e) { 
die ($e); 
} 

?> 

<?php while ($post = $messages->fetchObject()): ?> 
<?php echo $post->name ?> 
<?php echo $post->message ?> 
<?php endwhile; ?> 

<form action="" method="post"> 
    <label for="name">Name:</label> 
    <input type="text" name="name" /> 
    <textarea name="message" rows="8" cols="50"></textarea> 
    <input type="submit" name="submit" value="Submit" /> 
</form> 

答えて

0

<?php 
    $db = new PDO('sqlite:db.db'); 
    if (isset($_POST['submit']) && isset($_POST['name']) && isset($_POST['message'])) { 
    try { 
    //Insert data 
    } catch (Exception $e) { 
     die ($e); 
    } 
    } 
    try { 
     $order = ""; 
     if(isset($_POST['sort'])){ 
      $order = " ORDER BY `name`"; // Order list by name 
      $orderFlag = 1; 
      if(isset($_POST['order']) && $_POST['order'] == 1){ 
       $order .= " DESC"; 
       $orderFlag = 0; 
      } 

     } 
     $posts = $db->prepare("SELECT * FROM `messages`" . $order . ";"); 
     $posts->execute(); 
    } catch (Exception $e) { 
     die ($e); 
    } 

    ?> 

    <?php while ($post = $posts ->fetchObject()): ?> 
    <?php echo $post->name ?><?php echo $post->message ?><br/> 
    <?php endwhile; ?> 

    <form action="" method="post"> 
     <!--pushing this button sort by name --> 
     <input type="submit" name="sort" value="Sort by name" /> 
     <input type="hidden" name="order" value="<?=$orderFlag?>" /> 

     <label for="name">Name:</label> 
     <input type="text" name="name" /> 
     <textarea name="message" rows="8" cols="50"></textarea> 
     <!--pushing this button insert new data --> 
     <input type="submit" name="submit" value="Submit" /> 
    </form> 
+0

ありがとうございました!私が思ったほど簡単でした。私はちょうどそれを間違っていた...しかし、ええ、これは完全に動作します! – user1173225

+0

今すぐデータが同じ順序で並べ替えられます –

+0

もう一度Serg! – user1173225

関連する問題