2

我遇到了一个小问题,想弄清楚它背后的逻辑。在我的网站上,我有一个表单,管理员将在其中提交有关用户的各种信息,包括一些链接。现在,我不知道会有多少个链接,可能是 5 个,也可能是 35 个。关键是我不知道上限,所以我将如何制作那个表格?这是一个可能有效的想法:

打开添加客户表单后,我将在提交链接数中输入管理员类型;基于该数字,将创建输入字段;然后 PHP 将检查列是否已经存在,如果不存在,它将创建并提交它们;客户的显示页面然后会从数据中选择 * 并相应地显示它;

这是我不知道如何在这里完成的:如何根据数字 X 创建 X 输入字段?如何让 php 添加这样的列:Link1、Link1status(预定义)、Link2、Link2status(预定义)。ETC?如何使客户的显示页面只回显以类似方式存在的链接数量:Link1:$Link1 Link1status:$Link1status 等。

我不是在找你为我编写代码,我只是在需要根据某个数字创建 html 的逻辑上遇到问题。

谢谢您的帮助!最佳费舍尔

4

3 回答 3

1

您可以制作两张单独的表格,一张包含用户,一张包含所有链接。

Table users with columns (ID, name (for example), ...)
Table links with columns (ID, user_id, link, link_status (for example), ...)

示例:您的用户“John Doe”具有三个属性,例如头发颜色(棕色)、长度(180 厘米)和体重(80 公斤),您会得到:

Table users with 1 row > (1, John Doe) //(ID, color)
Table links with 3 rows > (1, 1, hair color, brown), (2, 1, length, 180 cm), (3, 1, weight, 80 kg) //(ID, user_id, property, value)

您可以在您的系统上应用它。如果要获取用户的所有链接,只需在“链接”表中搜索“user_id”即可。

要制作用于插入此记录的表单,请使用具有一个起始行和一个具有空输入的隐藏行的表。用户可以使用输入添加更多行以添加链接(您可以使用 jQuery 的clone()函数复制具有空输入的隐藏行)。您可以使用name=array[](使用输入)在 POST 之后获取数组结果。

于 2013-07-26T12:29:22.533 回答
1

如评论中所述,您可能应该使用基于 javascript 的解决方案:

只需一个按钮即可“添加另一个链接”:

<div class="links-wrap">
    <input type="text">
</div>
<a class="new-link">Add another link</a>

然后:

$('.new-link').click(function() {
    $('.links-wrap').append('<input type="text">');
});

然后您可以从所有链接字段中提取数据。

于 2013-07-26T12:33:52.367 回答
0

您可以在填写表单时使用 javascript 添加链接(如“添加新字段按钮”),这将允许您创建任意数量的输入。但是,如果您想保持简单,只需将链接的所有字段替换为文本区域,并让管理员添加以冒号或分号分隔的链接。您所要做的就是在explode将链接添加到数据库或您想对它们做的任何事情之前使用该函数获取链接。

于 2013-07-26T12:29:28.993 回答