我有一个奇怪的问题:我的if和else语句都在执行.这是我的代码:
if ($sel_user['name'] != $name) {
$query = "UPDATE owner SET
..."
$result = mysql_query($query);
if (mysql_affected_rows() ==1) {
$query2 = "UPDATE queue_acl SET
..."
$result2 = mysql_query($query2);
if (mysql_affected_rows() ==1) {
$_SESSION['updates_occurred'] = true;
} else {
$_SESSION['updates_occurred'] = false;
}
}
}
if ($sel_user['orgId'] != $orgId) {
$query = "UPDATE ownerOrganization SET
..."
$result = mysql_query($query);
if (mysql_affected_rows() ==1) {
$query2 = "UPDATE queue_acl SET
..."
$result2 = mysql_query($query2);
if (mysql_affected_rows() ==1) {
$_SESSION['updates_occurred'] = true;
} else {
$_SESSION['updates_occurred'] = false;
}
}
}
if ($sel_user['date_expires'] != $colVal[0] ||
$sel_user['admin'] != $colVal[4]) {
$query3 = "UPDATE queue_acl SET
..."
$result3 = mysql_query($query3);
if (mysql_affected_rows() ==1){
$_SESSION['updates_occurred'] = true;
} else {
$_SESSION['updates_occurred'] = false;
}
} else {
$_SESSION['updates_occurred'] = false;
$message = "<i>There were no edits to apply</i>";
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,正在发送查询并且所有内容都正在更新,但是"还没有编辑"消息也正在打印
谁知道为什么?
编辑:我不希望ELSEIF语句中使用; 事件不是相互排斥的.也就是说,如果$ sel_user ['name']!= $ name AND $ sel_user ['orgId']!= $ orgId,则需要发送两个查询
你应该做其他事情,而不是做很多ifs
即
if () {
} elseif () {
} else {
}
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
小智 8
如果你不想在if/else if语句中包装所有内容,可以在每个if结尾处设置一个标志.
if($sel_user['name'] != $name) {
// CODE HERE
$flag = true;
}
if(!$flag){
$message = "<i>There were no edits to apply</i>";
}
Run Code Online (Sandbox Code Playgroud)
就是那个或者你可以运行if check off $ _SESSION ['updates_occurred']
归档时间: |
|
查看次数: |
1755 次 |
最近记录: |