转换“;新的“;形式为“;编辑”;类型


Easiest way to convert "new" form to "edit" form

我有一个使用bootstrap创建新"Patch"的有点长的表单。这将是基本的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";
?>

我正在努力解决的问题是哪些复选框将被自动选中。有没有一种从根本上简单的方法可以做到这一点,而我却错过了?

当涉及到复选框时,我总是先设置一个默认值(为零),然后在存在的情况下添加它。

$checked_code = ' checked="checked"';
$checkbox_name = '';
if($row['checkbox_name'] == 1){
    $checkbox_name = $checked_code;
}
echo '<option name="" ' . $checkbox_name . '>Option</option>';

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

您的URL如下所示:

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>';