0

我的网站上有一个表格,用户在注册时填写。所有的注册都存储在“注册”表中。表结构如下所示:
id、用户名、密码、名字、姓氏、电子邮件、性别、职位、f1、国家、f2、fbook、f3、fmovie、f4。

jobtitlecountryfbook和fmovie下拉菜单。这些 dropdwon 菜单的值也存储在另一个名为“extraininfo”的表中,其结构如下:jobtitle、f1、country、f2、fbook、f3、fmovie、f4。

当用户提交表单时,它应该检查 jobtitle、country、fbook 和 fmovie 字段中的值并从“extraininfo”表中检索值。

因此,如果用户在 jobtitle 下拉菜单中选择“DECORATOR”,它应该从“extraininfo”表中的 f1 列中获取值,并将其插入“registration”表的 f1 列中。

我怎样才能做到这一点?

4

3 回答 3

0

您可以通过读取提交的值并使用 SQL 查询将其与数据库中的数据进行比较来实现这一点,方法是选择数据匹配的行。

于 2012-04-05T07:15:46.490 回答
0

您可以使用其中已有的值构建下拉列表,而不是事后查找它们:

<SELECT name="jobtitle">
    <OPTION value="f1_value">Decorator</OPTION>
    <OPTION value="f1_value">Welder</OPTION>
</SELECT>

其中f1_valueextrainfo表中每个职位的值。如果您首先将信息读入数组,则还可以使用foreach结构来构建:<OPTION>...</OPTIONS>

<?php
$q="select * from extrainfo";
if ($r=mysql_query($q))
{
  $m=array();
  while ($row=mysql_fetch_assoc($m))
  {
    $m[]=$row;
  }
?>
<SELECT name="jobtitle">
<?php
  foreach ($m as $line)
  {
    echo '<OPTION value="'.$line['f1'].'">'.$line['jobtitle'].'</OPTION>';
  }
?>
</SELECT>
于 2012-04-05T07:59:49.603 回答
0

表单提交后尝试这样

通过 $_POST 获取选择框的值

$jobtitle = $_POST['jobtitle']; //name of select box is assumed as jobtitle

从 extrainfo 获取值

$r = mysql_query("select f1 from extrainfo where jobtitle='$jobtitle'); //get f1 from extrainfo
$j = mysql_fetch_row($r);

像这样为所有列插入注册表

mysql_query("insert into registration(f1)values('$j[0]')"); //insert the f1 into registration table
于 2012-04-05T07:35:52.647 回答