使用许多数据以相同的形式创建更新命令

时间:2013-12-12 17:51:27

标签: php mysql forms tabular

我有一个PHP语言的表单,我想用它来插入数据,更新数据和一次删除数据。第一行表用于插入数据,第二行用于编辑或删除数据。

所以,我创建了这样的形式:

ask

仅供参考:UBAH是更新/编辑,HAPUS是删除,TAMBAH是添加/插入

我已经完成了插入数据,但是我在更新或删除数据时遇到困难,因为我选择的按钮的ID总是在最后ID(在图片中ID总是指“Sarjana”)所以它不起作用,因为我只能更新和删除在表调用的最后数据。

所以,我想问的是,如何在没有AJAX的情况下使其工作?因为我在谷歌搜索,他们说它可以用AJAX完成,但我不懂AJAX(除非它没有ajax会永远停留)。而且我不想像“初学者示例”那样创建一个href链接,将其扔到另一个页面然后编辑/删除它。

注意:它就像ASP的列表视图,但我想在PHP代码中执行此操作。最后的话,我想在我的PHP代码中创建内联编辑。

我希望你理解并抱歉我的英语不好。

1 个答案:

答案 0 :(得分:2)

为每个提交按钮添加唯一ID:

<input type="submit" name="submit[1]" value="Submit">
<input type="submit" name="submit[2]" value="Submit">
<input type="submit" name="submit[3]" value="Submit">

然后你从$ _POST或$ _GET中获取id。例如:

Array
(
    [submit] => Array
        (
            [3] => Submit
        )

)

编辑:

将此概念 - HTML表单元素添加到PHP数组 - 并将其应用于其他元素。

<table>
    <tr>
        <th>Program</th>
        <th>Department</th>
        <th></th>
    </tr>
    <tr>
        <td><input type="text" name="program[1]" value=""></td>
        <td><input type="text" name="department[1]" value=""></td>
        <td>
            <input type="submit" name="edit[1]" value="Edit">
            <input type="submit" name="delete[1]" value="Delete">
        </td>
    </tr>
    <tr>
        <td><input type="text" name="program[2]" value=""></td>
        <td><input type="text" name="department[2]" value=""></td>
        <td>
            <input type="submit" name="edit[2]" value="Edit">
            <input type="submit" name="delete[2]" value="Delete">
        </td>
    <tr>
        <td><input type="text" name="program[3]" value=""></td>
        <td><input type="text" name="department[3]" value=""></td>
        <td>
            <input type="submit" name="edit[3]" value="Edit">
            <input type="submit" name="delete[3]" value="Delete">
        </td>
    </tr>
</table>

再次:使用唯一ID将每一行的表单元素分开。

这是一种在PHP中获取数据的方法。显然,您需要从提交按钮获取ID,然后使用该ID引用$ _POST或$ _GET数组中的元素。

if ( isset($_POST['edit']) && is_array($_POST['edit']) ) {
    $key = key($_POST['edit']);
    $program = $_POST['program'][$key];
    $department = $_POST['department'][$key];
}