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

标签 php mysql forms datalist

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



 ?>

关于php - 如何将表单数据作为外键插入表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25139813/

相关文章:

php - $_POST 数据未发送

PHP 循环 : Bootstrap Slider Add div with item class every 3 item and the first one will have active

php - 如何跨 SMB 安装进行 PHP 复制

MySql 十进制数据类型 : not Inserting Proper Value

mysql - 为什么 LIMIT 子句对于 JSON_ARRAYAGG 函数失败?

mysql - Spring Boot中将所有mysql表数据转换为JSON

python - 提交表单时HttpResponse不会显示 `post`信息

javascript - Angular 2 select 不绑定(bind)(第二次迭代)

php - 区 block 链api支付模块

javascript - 如何与 php 共享 javascript var?