【问题标题】:How to insert form data into table as foreign key?如何将表单数据作为外键插入表中?
【发布时间】:2014-08-05 21:26:13
【问题描述】:

我正在开发一个存储用户帐户信息的员工数据库。我已经创建了表单,现在正在将表单中的数据导入数据库。我的Users 表有名字、姓氏、电子邮件等字段以及外键 organization_id、supervisor_id 等。到目前为止,我有以下代码用于插入非外键字段:

$f_name = $_POST['firstName'];
$l_name = $_POST['lastName'];
$user_type = $_POST['userType'];
//etc...

$insert = "INSERT INTO Users(f_name, l_name, user_type, email, empl_status_id, reliab_status_id, secr_status_id, ";
$values = "VALUES($f_name, $l_name, $user_type, $email, $empl_status, $reliab_status, $secr_status, ";
if($w_username) {$insert .= "w_username, "; $values .= "'$w_username', ";});

$sql = $insert . $values;

所有这些字段都是必需的,w_username 除外,它可以留空。组织和主管也可以留空。

问题是,当它们不为空时,我不确定如何将它们插入数据库。在表单中,用户可以在链接到数据列表的文本字段中输入他们的组织。数据列表应由先前输入的组织填充。如果输入了新的组织,则应将其添加到数据库中,从而添加到数据列表中。

如果是从数据列表中选择的 OrganizationID,我是否要插入它?我怎么做?我想也许我必须遍历列表,但是如果列表最终变得很长,那不是问题吗?

注意:请像我 5 岁一样解释,我真的是新手!

【问题讨论】:

标签: php mysql forms datalist


【解决方案1】:

试试下面的方法

<?php
          //take OrganizationID as text from form (leave auto complete as it) 

          $sql = "select OrganizationID from org where Organization_name LIKE '".$_POST['OrganizationName']."'";

              //execute it .....
     if(mysql_num_rows()>0){

               $id = $row['id']; //and put in foreign table
      }
    else{
            // insert to org here and get last inserted id calling mysql_insert_id() ;
             // and put in foreign table
    }



 ?>

【讨论】:

    猜你喜欢
    • 2015-08-06
    • 1970-01-01
    • 2020-10-08
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多