将“新”表单转换为“编辑”表单的最简单方法

时间:2013-06-24 14:32:05

标签: php mysql forms twitter-bootstrap

我使用bootstrap创建一个新的“补丁”有一个冗长的形式。这将是基本的create形式。将此表单设为edit表单的最简单方法是什么?

我正在使用与此类似的文本框

<?php
    $result = mysql_query("SELECT `title` FROM `products` WHERE `id` = $id;"); // replace $id with the ID variable
    $row = mysql_fetch_assoc($result);
    $title = $row['title'];
    echo "<input type='text' name='title' value='$title' />\n";
?>

我正在努力的部分是自动检查哪些复选框。是否有一种从根本上简单的方法来做到这一点,我错过了?

1 个答案:

答案 0 :(得分:2)

当涉及到复选框时,我总是首先设置默认值(没有任何内容)然后添加它(如果存在的话)。

$checked_code = ' checked="checked"';

$checkbox_name = '';
if($row['checkbox_name'] == 1){
    $checkbox_name = $checked_code;
}

echo '<option name="" ' . $checkbox_name . '>Option</option>';

编辑:使表单对添加和编辑有用

您的网址如下所示:

http://www.example.com/addedit.php

如果您访问它会转到添加页面,但如果您在最后添加了GET,它将转到该ID的编辑页面:

http://www.example.com/addedit.php?id=345

然后您可以将其纳入您的代码:

$checked_code = ' checked="checked"';
$checkbox_name = '';

if(isset($_GET['id'])){
    // Editing
    $form_action = "edit.php";
    $id = $_GET['id'];
    $result = mysql_query("SELECT `title` FROM `products` WHERE `id` = {".$id."}"); // replace $id with the ID variable
    $row = mysql_fetch_assoc($result);
    $title = $row['title'];

    if($row['checkbox_name'] == 1){
        $checkbox_name = $checked_code;
    }
}else{
    $form_action = "add.php";
}

echo '<option name="" ' . $checkbox_name . '>Option</option>';