繁体   English   中英

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

[英]How to insert form data into table as foreign key?

我正在处理一个将存储用户帐户信息的员工数据库。 我已经创建了表单,现在正在努力将表单中的数据获取到数据库中。 我的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
          //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
    }



 ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM