【问题标题】:Easiest way to convert "new" form to "edit" form将“新”表单转换为“编辑”表单的最简单方法
【发布时间】:2013-06-21 02:39:21
【问题描述】:

我有一个有点冗长的表格,使用引导程序创建一个新的“补丁”。这将是基本的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";
?>

我正在努力解决的部分是自动检查哪些复选框。有没有我想念的从根本上简单的方法来做到这一点?

【问题讨论】:

标签: php mysql forms twitter-bootstrap


【解决方案1】:

当涉及到复选框时,我总是先设置一个默认值(什么都没有),然后如果存在就添加它。

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

【讨论】:

  • 我会将整个编辑表单放在while($row = $patch-&gt;fetch_object()){ 循环中对吗?
  • 跟进,我可以根据if exists 上的if exists 之类的声明将新表单和编辑表单合并到insert_id 上吗?我不确定那会怎么写。看起来我不需要把这段代码写两次
  • 我已经更新了我的答案,向您展示添加和编辑。我不知道 $patch 类是什么,但你可以做 $row = $patch->fetch_object() 然后像 $row['column_name'] 这样调用数据
  • 太棒了。我很感激帮助。谢谢亚当。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-01
  • 2012-09-02
  • 2011-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多