【问题标题】:Checkbox, PHP & SQL [closed]复选框、PHP 和 SQL [关闭]
【发布时间】:2012-11-02 04:41:18
【问题描述】:

快速问题:

我的代码中有一个复选框,告诉用户记录的状态是 DONE 还是 NOT DONE。当用户在数据库中进行记录搜索时,显示的记录会显示当前记录状态(DONENOT DONE)。

如果未选中复选框意味着记录是未完成,所以我试图在记录状态的一侧放置一个复选框,以便用户可以在他们检查时立即检查已完成记录工作。在他们选中复选框后,该值被发送到数据库,告诉数据库记录的新状态是 DONE

以下示例代码如何实现:(用户使用表单进行搜索后显示结果)

<?php
if(!isset($_POST['search']))
{
?>

<?php
}
else
{
    $from = trim($_POST['OLD']);
    $to = trim($_POST['NEW']);
    $status = isset($_POST['Status']) ? "AND status = 'DONE' " :"AND status = 'NOT DONE' ";

    $connection = mysql_pconnect("HOST", "USER", "PASS") or die("Connection failed. ".myslq_error());
    mysql_select_db("DBNAME") or die("Unable to select db. ".mysql_error());
    $query = "SELECT * FROM records WHERE Date >= '$from' AND Date <= '$to' ".$status." ORDER BY date ASC";

    $result = mysql_query($query) or die(mysql_error());

    echo "<table class='table' id='SearchResult' cellspacing='0' cellpadding='0'>";
        echo "<tr class='rowa'><b>";
            echo "<td class='col0 cell'>ID</td>";
            echo "<td class='col1 cell'>Name</td>";
            echo "<td class='col2 cell'>Last Name</td>";
            echo "<td class='col3 cell'>Place</td>";
            echo "<td class='col4 cell'>Station</td>";
            echo "<td class='col5 cell'>Phone</td>";
            echo "<td class='col6 cell'>Date of Record</td>";
            echo "<td class='col7 cell'>Status</td>";
        echo "</tr>";
    echo "</table>";
    while($record = mysql_fetch_object($result))
    {   
    echo "<table class='table' id='SearchResult' cellspacing='0' cellpadding='0'>";
        echo "<tr class='rowb'>";
            echo "<td class='col0 cell'>".$record->ID."</td>";
            echo "<td class='col1 cell'>".$record->Name."</td>";
            echo "<td class='col2 cell'>".$record->lastName."</td>";
            echo "<td class='col3 cell'>".$record->Place."</td>";
            echo "<td class='col4 cell'>".$record->Station."</td>";
            echo "<td class='col5 cell'>".$record->Phone."</td>";
            $year_part_of_date = explode('-', $record->date);
            echo "<td class='col6 cell'>".$record->date."</td>";
            echo "<td class='col7 cell'>".$record->Status."</td>";
        echo "</tr>";       
    echo "</table>";
    }   
}
?>



谢谢大家给我指路 :D

【问题讨论】:

    标签: php sql checkbox status


    【解决方案1】:

    你是说,像这样?

    echo "<td class='col7 cell'><input type='checkbox' name='status' ".($record->Status == 'DONE' ? 'checked' : '')."/></td>";
    

    【讨论】:

    • 对! :D 现在将复选框显示为完成!伟大的!现在我要弄清楚的是用户选中这些复选框以更新 SQL 数据库上的状态的部分。有没有办法解决这个问题?
    • 您想以相同的形式实施更新吗?我会在复选框单击时进行 AJAX 调用,但如果这超出了您的专业知识,那么您将必须为用户提供一个保存按钮,该按钮会将您从数据库中绘制的表单发送回 PHP 脚本,以获取新参数并更新数据库记录。当您知道如何做时,这是一项容易的任务,但在这里编写整段代码肯定不是一件容易的事。
    • 好吧,这对我来说很好。我对这两个选项也有同样的想法。我想我现在会提供一个保存按钮/表单。稍后我将更新代码以使用 AJAX。实际上,我已经制作了表单/按钮来执行此操作,但我在某个时候卡住了。问题是我使用的代码会搜索符合搜索规范的记录,但我不确定如何使表单适用于每个记录状态。非常感谢@Fratyr。
    猜你喜欢
    • 1970-01-01
    • 2019-02-27
    • 2015-07-07
    • 2016-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多