0

私は、ユーザーが申請を承認または取り消すことができるプロジェクト(奨学金など)を行っています。しかし、なぜそれが私がやりたかったことをしていないのか理解できないようです。以下の私のコードを確認してください:

$try = mysql_query("UPDATE new_applicants SET ApplicantStatusId='$status', DateManaged = NOW() WHERE ApplicantId='$id'") or die(mysql_error()); 

$try1 = mysql_fetch_assoc($try);

$status1 = $try1["ApplicantStatusId"];

if( $status1 == 2 ){
header('location: ../employeepage.php');
exit();
}

else{

$sql1 = "INSERT INTO scholar_profile (Firstname, Middlename, Lastname, Address, EmailAddress,  BirthDate, BirthPlace, Religion, Age, Gender, ContactNo, Skill, Talent, LevelId, GWA, CategoryId, StatusId, SchoolId, BarangayId) SELECT Firstname, Middlename, Lastname, Address, EmailAddress, BirthDate, BirthPlace, Religion, Age, Gender, ContactNo, Skill, Talent, LevelId, GWA, CategoryId, StatusId, SchoolId, BarangayId
FROM new_applicants
WHERE new_applicants.ApplicantId = '$id'" or die(mysql_error()); 

}

申請者ステータスが2=取り消された場合、データをscholar_profileにコピーしないでください。しかし、私がこれを試したとき、それはまだコピーします。これの何が問題になっていますか?ありがとう。

4

3 に答える 3

1

テーブルを更新しているので、mysql_fetch_assoc何も返されません。つまり$status1になりますnull。そのデータ(ApplicantStatusID、...)を選択する場合は、SELECT代わりにステートメントを使用する必要があります。

于 2013-01-04T22:02:59.107 に答える
0

whereSQLステートメントの句を変更するだけです。

WHERE new_applicants.ApplicantId = '$id' and new_Applicants.ApplicantStatusId <> 2"

そうすれば、phpのロジックについて心配する必要はありません。

于 2013-01-04T22:04:34.777 に答える
0

あなたは真実ではないステートメントをフェッチ$try1 = mysql_fetch_assoc($try);しています。UPDATE

フェッチはステートメントのみSELECTです

于 2013-01-04T22:14:52.903 に答える