Sooda!
 閲覧数:65
PHPとSQLで社員マスタが作成しています。少し分からない所があるので教えて頂けると幸いです。ソースは長いので、OSDNというサイトにコピペしました。https://osdn.net/users/nannpure/pastebin/4451

社員マスタに登録をする際、重複チェックを行っていますが、私の考えた方法だと社員IDが1から順番通りに登録をされていることが前提の重複チェックとなってしまいます。社員IDがPRIMARYKEYに設定されているので、ソースに登録はされないのですが、登録されない場合でも画面上にそのことがエラーとして出したいので、重複チェックはどうしても必要です。もしご存知の方だったらでいいので、社員IDに登録された数字が順番通りじゃなくても重複チェックができる方法をご存知の方は教えて頂けると幸いです。

$params = array(
) ;

$sql = " SELECT COUNT (*) FROM master_employee " ;

$select_resultA = $conn->executeQueryFetchAll( $sql , $params ) ; //何も入っていない奴だと空文字になる

foreach( $select_resultA as $row ){
$select_result = $row['count'] ;
}

$v = new employee( $id , $cd , $last_name , $last_name_kana , $first_name , $first_name_kana , $zipcode , $zipcode_address , $tel , $mobile , $mail_address , $delete_flag , $regist_user , $update_user , $button_entry , $button_update , $button_deletion , $insert_date , $update_date , $alert , $employee_result , $select_result ) ;

if( $stop == "" ){

employee( $v , $conn ) ;

$ccc = employee( $v , $conn ) ;

$chunk = array_chunk( $ccc , 1 ) ;

$alert = $chunk[0][0] ;
$employee_result = $chunk[1][0] ;

if( $alert != "" ){
print $alert ;
}
}

$params = array(
':id' => $id //社員ID
, ':cd' => $cd //保険番号
, ':last_name' => $last_name //姓
, ':last_name_kana' => $last_name_kana //姓カナ
, ':first_name' => $first_name //名
, ':first_name_kana' => $first_name_kana //名カナ
, ':zipcode' => $zipcode //郵便番号
, ':address' => $zipcode_address //住所
, ':tel' => $tel //電話番号
, ':mobile' => $mobile //携帯電話番号
, ':mail_address' => $mail_address //メールアドレス
, ':delete_flag' => $delete_flag //削除フラグ
, ':regist_user' => $regist_user //登録者
, ':regist_date' => $insert_date //登録日時
) ;

$sql = " INSERT INTO master_employee " ; //ベースとなるSQL。INSERTを行う。

//パラメータの数に応じてプレースホルダを用意する
$ph = $conn->trimPlaceholder( $params ) ;

//パラメータがないときは条件にしない
if( $ph != "" ){
//ベースのSQLに条件文を結合
$sql .= " VALUES( :id , :cd , :last_name , :last_name_kana , :first_name , :first_name_kana , :zipcode , :address , :tel , :mobile , :mail_address , :delete_flag , :regist_user , :regist_date ) " ;
}

if( $button_entry ){
// ↓登録前のSELECTしたデータ数が格納されている変数$selelt_resultが$idより少ないか、等しい場合はエラーになる。
if( $id <= $select_result){
$alert = "登録作業中にエラーが発生しました。このままでは登録作業を行うことが出来ません。登録作業を中止します。" ;
}
} else if( $button_update ){

質問者:uuu
質問日時:2016-11-17 22:13:10
カテゴリ:インターネット・パソコン>技術・プログラミング


↓↓現在集まっている回答 0〜0件/0件中
 
この質問を友達に教える
→ヘルプ
ほしい情報が見つからないときは
新しい質問をする

↑このページのトップへ
TOP マイページ ヘルプ