如何添加对数据进行排序的按钮或链接? - php

在下面的代码中,如何添加按“名称”对数据进行排序的按钮或链接?

以下代码仅是示例,是我从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>

参考方案

<?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>

故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php

我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…

Div单击与单选按钮相同吗? - php

有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date&#…

PHP-复选框组 - php

我有一个需要发布的表单复选框组。<input type="checkbox" value="true" checked name="chk0[]"> <input type="checkbox" value="false" name=…

使用PHP包含时的淡入淡出过渡 - php

我正在尝试使用jQuery或CSS(或其他方式!)在DIV中包含的php页面上创建淡入淡出或滑动过渡。我四处搜寻,发现了很多淡入淡出过渡的示例,这些实例彼此淡入淡出div或隐藏内容淡入淡出,但是这种情况略有不同。我有一个DIV,其内容由导航栏控制。选中后,每个页面都可以使用PHP成功地包含在div中,但我想使内容淡入和淡出。关于如何在页面更改之间进行漂亮过渡…

AJAX调用只能与$(document).on('click')一起使用 - php

我有一个显示数据库条目的表。用户能够为每一行打开一个弹出菜单。选项之一是删除数据库条目,并且该表应通过AJAX调用相应地刷新。只要有人单击#delete-toggle中的table-popup,我就会在HTML页面上进行AJAX调用(table-popup是div,当有人单击每行中存在的表中的table-edit-button时出现的表): <div …