管理者、クライアント、技術者のデータをすべて 1 つに格納する members というテーブルを含むデータベースがあります。メンバーテーブルに基づくクエリ メンバーテーブルのクエリで使用された共通フィールドをそのまま維持したいので、メンバーテーブルを縮小して、ID、名前、ユーザー名、パスワード、レベル、カテゴリ.スルーアウトのフィールドのみを作成しました。レベル (レベル フィールドに対応) を設定することにより、ユーザーが管理者、クライアント、または技術者であるかどうかが認識されるサイト。データを挿入するときに、このコードを使用してみました。最初に共通フィールドをメンバーに挿入し、レベルに応じて、データを挿入するテーブルを指定する個別のクエリを作成します。
if($_POST['Submit']){
if(mysql_fetch_array(mysql_query("SELECT * FROM `members` WHERE UN='$r[UN]' AND ID!='$r[ID]' "))) {
?><script language="javascript" type="text/javascript">alert('Username already exsits.Please enter another.');
</script>
<?php
}
else {
mysql_query("INSERT INTO members (Name,UN,Password,Level,Category) VALUES ('$r[Name]','$r[UN]','$r[PW]','$r[Level]','$r[Category]')");
$row=mysql_query("SELECT * FROM members WHERE Name='$r[Name]'") or die('query unsuccesful');
if ($row['Level']==1){
mysql_query("INSERT INTO client(Name,Mobile,Phone,Fax,Email,Address) VALUES ('$r[Name]','$r[Mobile]','$r[Phone]','$r[Fax]','$r[Email]','$r[Address]')");
}
elseif($row['Level']==2){
mysql_query("INSERT INTO techs (Name,,Category,Company,Price,Comments,Rate,Qualifications,Mobile,Phone,Fax,Email,Address) VALUES ('$r[Name]','$r[Category]','$r[Company]','$r[Price]','$r[Comments]','$r[Rate]','$r[Qualifications]','$r[Mobile]','$r[Phone]','$r[Fax]','$r[Email]','$r[Address]')");
}
else{
mysql_query("INSERT INTO admin (Name,Mobile,Phone,Fax,Email,Address) VALUES ('$r[Name]','$r[Mobile]','$r[Phone]','$r[Fax]','$r[Email]','$r[Address]')");
}
if(!$user){
$user=$r;
$_SESSION['user']=$r;
}
しかし、データはメンバーテーブルにのみ挿入され、クライアント、技術者、または管理者には何も行きません。これを修正する方法を教えてください