如何为表单设置不同的操作

问题描述

我正在从表中获取一些数据,并从我的表单中检索它们。

$pageSet = new Page();
$pageSet->GetPage($_GET['page_url']);
$homePage = $pageSet->GetHomePage();
if(count($homePage)!=0){
    foreach($homePage as $home){
        echo "
        <form action='' method='POST'>
            <div class='box box-default'>
                <div class='box-header with-border'>
                    <h3 class='box-title'><span style='color:blue'><span>".$home['name_service']."</span></h3>
                    <div class='box-tools pull-right'>
                        <button type='button' class='btn btn-box-tool' data-widget='collapse'><i class='fa fa-minus'></i></button>
                    </div>
                </div>
                                            
                <div class='box-body'>
                    <div class='row'>
                        <div class='col-md-6'>
                            <div class='form-group'>
                                <label for='ser'>Name of Service:</label>
                                <input name='sname' type='text' class='form-control' value='".$home['name_service']."'>
                            </div>
                            <div class='form-group'>
                                <label for='ser'>Background Color of Box:</label>
                                <input name='bgbox' type='text' class='form-control' value='".$home['bg_box']."'>
                            </div>
                            <div class='form-group'>
                                <label for='ser'>Description of Service:</label>
                                <input name='sdesc' type='text' class='form-control' value='".$home['desc_service']."'>
                            </div>
                            <div class='form-group'>
                                <label for='ser'>Link of Service:</label>
                                <input name='slink' type='text' class='form-control' value='".$home['link_service']."'>
                            </div>
                        </div>
                    </div>
                </div>
                                        
                <p>
                    <button name='update' type='submit' class='btn btn-success btn-lg'>Update</button>
                    <button type='button' class='btn btn-danger btn-lg'>Delete</button>&nbsp;
                    <input type='checkbox' name='showing'><label for='showing'>&nbsp; Hide from showing</label></br>
                </p><hr></hr>
            </div>
        </form>
        ";  
    }
}

从表中检索数据的方法是这样的:

public function GetHomePage()
{
    $home = $this->_db->prepare("SELECT * FROM `homepage` ORDER BY 'priority_service'");
    $home->execute();
    $home_array = array();
    while($row = $home->fetch())
    {
        $home_array[] = $row;
    }
    return $home_array;
}

结果如下:

form showing

您可以在表格末尾看到,我使用了“更新”按钮来更新表格。

以下是此表单的操作:

以下是此表单的操作:

if (isset($_POST['update'])){
    $servicename = $_POST['sname'];
    $backgroundbox = $_POST['bgbox'];
    $servicedesc = $_POST['sdesc'];
    $servicelink = $_POST['slink'];
    $updatation = new Page();
    $notice[] = $updatation->UpdateService($servicename,$backgroundbox,$servicedesc,$servicelink);  
    $notice = $updatation->getNotice();
}

但是当我想更改一种表单的name service时,它会更新整个表单和行。

因为所有形式的动作都相同。因此,我需要根据表ID对每个表单执行不同的操作,因此,如果有人要更新一个表单,则只会更新该表单,而不会更新其他表单。

这是表结构:

table structure

解决方法

如果记录已存在,则应在表格中打印值。.那么您可能会遇到诸如if new_name == old name的条件,请不要对其进行更新,if new_name != old_name请对其进行更新。 。,因此您可以针对所有输入内容执行此操作

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...