1
好吧,我有一個成就係統,除了正確加分之外,它的效果很好。這裏是一個例子,如果條件滿足,更新到數據庫:我可以不加分多個if語句嗎?
if($members['Active']==1){
$Achievement1=mysql_query("SELECT * FROM ".
"myachievements WHERE ".
"Handle='$members[Handle]' and AchievementId='1'");
$Achievement2=mysql_num_rows($Achievement1);
$tehdate=date('Y-m-d');
$Points = '50';
$newscore=$members['Points']+$Points;
if ($Achievement2 == 0) {
mysql_query("INSERT INTO `myachievements`
(`Handle` , `AchievementId` , `Date`) VALUES
('$members[Handle]', '1' , '$tehdate')"
)or die(mysql_error());
mysql_query ("UPDATE members SET Achievement = 'Y' WHERE ".
"Handle = '$members[Handle]'")or die(mysql_error());
mysql_query ("UPDATE members SET Points = '$newscore' WHERE ".
"Handle = '$members[Handle]'")or die(mysql_error());
}
}
上面顯示的成績僅用於激活一個帳戶。我現在大約有35項成就,每項成績都有不同的ID。所以在我的主要包含文件中有兩組if語句。我的成員表中的測試用戶配置文件已滿足35項成就中總共19項的條件。除了添加點之外,所有數據庫都會正確更新。總分應該高出約1000分,但總是給我150分。我不知道我做錯了什麼。任何幫助,將不勝感激。
感謝您繼續並將它們納入功能。這幫助我縮小了問題範圍。 – Brad45
不客氣,歡迎進一步編碼。 – hakre