我需要一个将MySQL Records绑定在一起的表单

时间:2011-03-19 18:09:50

标签: php mysql forms database

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

超级用户搜索数据库,并根据该搜索提供记录表;每条记录都使用数据库记录ID进行编号。

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

  1. 用户从一个记录到另一个记录的引用。例如,用户可以在整数242中输入记录id#457以指示与记录ID#242存在相关性。
  2. 用户还会描述它的类型。这可以通过第二个字段中的一个简单整数来完成,该整数表示两个记录之间的关系类型。
  3. 当超级用户点击提交按钮时,所有这些关系都保存在mySqljoin表中。

    一个选择是给我一些关于如何在PHP中实现和编写代码的建议。然而,在我重新发明轮子之前,另一个选择是引导我做一个类似的自由脚本。

2 个答案:

答案 0 :(得分:1)

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

<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”等,以确保用户输入一个并存储默认值,或者如果你想要它们,则在处理之前检查表单的完整性填写这两个字段。在让任何用户将数据输入表格之前,您还应该通过安全功能(转义引号等)运行输入。

答案 1 :(得分:0)

这听起来太具体了,无法让您轻松地从其他地方重新调整脚本。此外,用户/超级用户组合使其实现起来更加复杂。

如果访问控制不是问题,您可以使用phpMyAdmin或类似的东西。否则,您将需要自定义实现。根据你的问题,建议你如何做到这一点是很棘手的。更多细节会有所帮助。