-1

我有两张桌子。company_details 和 company_specials。每个 company_details 可以有多个特价商品。我在http://eurothermwindows.com/ed/admin.php显示公司详细信息

在活动列中具有 0 的第一行和第四行来自 company_details,下面的行来自 company_specials。

目前,该代码允许动态修改 company_details 行,如该表中的 compid 所示。但是我希望它下面的行也可以动态修改,但它使用相同的 compid,我不确定如何在代码中将它们分开。

下面的代码是为 company_specials 生成的代码。我需要一种方法来唯一标识每一行并能够对其进行修改。 http://pastebin.com/RAe9iwAP

有人可以提供一些指导吗?我在想我可能需要唯一标识 company_specials 中的每个特价商品或设置某种指针?

4

2 回答 2

0

看来你在正确的轨道上。您确实需要唯一标识行。您可以在 company_specials 表中添加一个唯一 ID 并使用它。或者使用company_specials 表中每一行独有的其他一些属性组合(例如compid 和specdate 的连接)。任何适合您的信息结构的东西。我建议在您的特价表中添加一个唯一的 ID。

请务必将该唯一约束添加到您的数据库系统中,以防止输入无效数据。

于 2012-10-30T13:48:20.403 回答
0

为您的数据库表添加唯一的 id,并为每条记录输出隐藏的文本字段,以指示其表来源及其 id。这将允许代码知道哪个表更新或删除了哪一行。插入新记录可以通过在每个组的末尾提供每种类型的空白记录来完成,因此每个组的末尾会有一个空白的特价记录,表的末尾会有一个空白的公司记录。

在name='comp[<?php echo $comp_id?>][<?php echo $comp_field_name?>]'name='spec[<?php echo $spec_id?>形式的每个输入字段上放置一个唯一名称][<?php echo $spec_field_name?>]'这样当表格发布时,PHP 将看到两个数组,$comp$spec。您可以使用

foreach ($comp as $id=>$row)
{
}

并遍历每个 $row 以构建 SQL 更新或插入语句

foreach ($row as $fld=>$val)
{
}
于 2012-10-30T14:08:15.960 回答