0

従業員の個人情報が記載されたフォームがあります。フォームを更新すると、という名前のテーブルに挿入されemployee_infoます。テーブルを詳細で更新し、NEW ID(employee_id)を挿入します。私のデータベースには、という別のテーブルがdepartment_infoあり、関連するフィールドはですdepartment_id。これは、データベースにデータを挿入するためのphpマークアップです。

$sql_data_array = array('employee_firstname' => $employee_firstname); //other variables go here

if (ACCOUNT_DOB == 'true') $sql_data_array['driver_dob'] = tep_date_raw($driver_dob);

tep_db_perform(TABLE_EMPLOYEES, $sql_data_array);

$employee_id = tep_db_insert_id();

フォームが更新され、データがテーブルに挿入されるときに、(すでに発生している)employee_infoの新しいIDを挿入し、テーブルにを挿入する必要があります。employee_iddepartment_idemployee_info

department_idログインに使用しますが、部門に所属する従業員のリストを表示したいと思います。誰かが私がこれをどのように行うか教えてもらえますか?

4

2 に答える 2

2

PHPで挿入すると、ほとんどの実装はいわゆる最後の挿入IDを返します。これは、AUTO_INCREMENT列の値です。

実装がそれをサポートしていない場合でも、それを返す関数が必要です。

編集: あなたのアップデートから、これはosCommerceのようです。コードの問題は、メソッドtep_db_performを使用して1つ以上の要素を挿入することです。2行挿入するとどうなりますか?ただし、単純なケースでは、tep_db_insert_id()を使用すると、最後のIDが返されます。

于 2013-02-27T15:18:06.353 に答える
0

PHP 関数 mysqli_insert_id は、前のクエリ (通常は INSERT) によって AUTO_INCREMENT カラム用に生成された ID を取得します。この ID を取得して、他のテーブルで使用します。

于 2013-02-27T15:24:59.580 に答える