如何将表单数据作为外键插入表中?

时间:2014-08-05 13:16:38

标签: php mysql forms datalist

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

$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之外,所有这些字段都是必填项,可以留空。组织和主管也可以留空。

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

如果从数据列表中选择了组织ID,我也会插入吗?我怎么做?我想也许我不得不遍历列表,但如果列表最终变得很长,那不是一个问题吗?

注意:请解释为我5岁,我真的很陌生!

1 个答案:

答案 0 :(得分:0)

尝试下面的内容

<?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
    }



 ?>