Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将表单数据作为外键插入表中?_Php_Mysql_Forms_Datalist - Fatal编程技术网

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

Php 如何将表单数据作为外键插入表中?,php,mysql,forms,datalist,Php,Mysql,Forms,Datalist,我正在处理一个员工数据库,该数据库将存储用户帐户信息。我已经创建了表单,现在正在将表单中的数据输入数据库。我的Users表中有名字、姓氏、电子邮件等字段,以及外键组织id、主管id等。到目前为止,我有以下代码用于插入非外键字段: $f_name = $_POST['firstName']; $l_name = $_POST['lastName']; $user_type = $_POST['userType']; //etc... $insert = "INSERT INTO Users(f_

我正在处理一个员工数据库,该数据库将存储用户帐户信息。我已经创建了表单,现在正在将表单中的数据输入数据库。我的
Users
表中有名字、姓氏、电子邮件等字段,以及外键组织id、主管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
字段可能为空。组织和主管也可以留空

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

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


注意:请像我5岁一样解释,我对这真的很陌生

试试下面的方法

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



 ?>

阅读并使用。