我需要一个基于HTML的表单来将数据库记录绑定在一起。我设想的用户场景是这样的:
超级用户搜索数据库,并根据该搜索提供记录表;每条记录都使用数据库记录ID进行编号。
每条记录旁边还有两个文本字段。这些文本字段允许:
当超级用户点击提交按钮时,所有这些关系都保存在mySqljoin表中。
一个选择是给我一些关于如何在PHP中实现和编写代码的建议。然而,在我重新发明轮子之前,另一个选择是引导我做一个类似的自由脚本。
答案 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或类似的东西。否则,您将需要自定义实现。根据你的问题,建议你如何做到这一点是很棘手的。更多细节会有所帮助。