php - 我需要一个表格来将 MySQL 记录绑定(bind)在一起

标签 php mysql forms database

我需要一个基于 HTML 的表单来将数据库记录联系在一起。我设想的用户场景是这样的:

super 用户搜索数据库,并根据该搜索获得一个记录表;每条记录都用数据库记录 ID 编号。

每条记录旁边还有两个文本字段。这些文本字段将允许:

  1. 用户将一条记录引用到另一条记录。例如,用户可以在记录 ID #457 中输入整数 242,以指示与记录 ID #242 存在关联。
  2. 用户还会描述关系的类型。这可以通过第二个字段中的一个简单整数来完成,该整数指示两个记录之间的关系类型。

当 super 用户点击提交按钮时,所有这些关系都保存在 mySqljoin 表中。

一个选择是就如何在 PHP 中自己实现和编码提供建议。然而,在我重新发明轮子之前,另一种选择是引导我使用一个免费的脚本来做类似的事情。

最佳答案

如果你只是在寻找一个伪代码框架,我会为表单的主体做这样的事情:

<form id="my_form" action="" method="post">
<table id="my_table"><tr><th>Result ID</th><th>Related ID</th><th>Relation Type</th></tr>

<?php
$result = mysql_query("SELECT blah blah");
while ($row = [your chosen method of fetching results]) {
    $resource_id = $row['id'];
    echo "<tr><td>".$resource_id."</td>";
    echo "<td><input type=\"text\" name=\"related[".$resource_id."]\" /></td>";
    echo "<td><input type=\"text\" name=\"type[".$resource_id."]\" /></td></tr>";
}
?>
</table>
<input type="submit" value="Submit Related Resources" />
</form>

然后当用户提交表单时,使用另一个循环处理它,该循环遍历相关数组和类型数组中的每个值并提交一个 mysql_query("INSERT blah blah")。例如:

$related_resources = $_POST['related'];
$related_types = $_POST['type'];
foreach ($related_resources as $original_resource -> $related_resource) {
    $type = $related_types[$original_resource];
    mysql_query("INSERT INTO [table name] ('resource', 'related', 'type') VALUES ('".$original_resource."', '".$related_resource."', '".$type."'");
}

当然你还应该在获取类型之前添加一个“if in_array”等,以确保用户输入了一个,如果没有则存储一个默认值,或者如果你想要求他们在处理之前检查表单的完整性填写这两个字段。在让任何用户将数据输入到您的表中之前,您还应该通过安全功能(转义引号等)运行您的输入。

关于php - 我需要一个表格来将 MySQL 记录绑定(bind)在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5369509/

相关文章:

php - 处理来自多个选择字段的数据

涉及静态方法的php抽象类和接口(interface)?

php - 如何在 php 中为 htmlentities() 函数默认设置 ENT_QUOTES 标志

php - 为什么 MySql 中有文本时没有值

javascript - 地理位置允许位置异常导致站点无法进入成功功能

php - 如何在 PHP 中正确转义 HTML 表单输入默认值?

PHP/MySQL - 显示 jquery 日历上每个日期的记录总数

mysql - 如何处理 MySQL 过程和函数

mysql相关查询

php - 如何在 Symfony 中多次嵌入表单