将if / else语句添加到现有脚本

时间:2014-10-11 20:56:44

标签: php

如果$number 1 INFO更新Number表格199$number作为默认值,我将如何检查2 {{1}是INFO使用Number 221更新199表而不是 $number_rows = $db->doQuery('SELECT Num FROM Char WHERE ? IN(CharNum1, CharNum2, CharNum3)', $char); $row = $db->doRead(); $number = intval($row['Num']); if ($number_rows == -1) { $db->GetError(__file__, __line__); $this->doError(Template::GetLangVar('DBERROR')); return; } else if ($number_rows == 0) { $this->content = Template::Load('error', array('error_message' => Template::GetLangVar('No_Rows'))); return; } $dt = $db->doQuery('SELECT TOP 1 LAINO, DT FROM LOGG WHERE Char = ? ORDER BY DT DESC', $char); $row = $db->doRead(); if ((intval($row['DT']) + 600) <= time() || !$dt) { $this->database[GAB]->doQuery('INSERT INTO Laeima (UserID) VALUES (?)', $char; $this->database[GAB]->doQuery('INSERT INTO Smotka (Pofka,Motka,Rebka) VALUES (?,?,?)', $_SESSION['Acc'], $char, time()); sleep(6); $this->database[GAB]->doQuery('UPDATE INFO SET Number = ? WHERE User = ?', $numcode, $char); $this->content = Template::Load('error', array('error_message' => Template::GetLangVar('Success'))); } else { $this->content = Template::Load('error', array('error_message' => Template::GetLangVar('FAIL'))); }

基本上我只需要添加199或221的检查和更新,所以请告诉我如何做到这一点?谢谢!

{{1}}

我使用MSSQL Server 2005,只是提到它:)

1 个答案:

答案 0 :(得分:0)

根据您的评论,您似乎缺少的信息是您可以尽可能深地嵌套if语句:

// ... some code ...
if ( $some_condition ) {
    // ... some conditional code ...
    if ( $some_other_condition ) {
        // ... some code to run only when both conditions are true ...
    } else {
        // ... some code to run when one condition is true but the other false ...
    }
    // ... some more code ...
} else {
    // ... what to do if the outer condition is false ...
}
// ... etc ...

所以在你的情况下,实现它的最简单方法是采用这一行......

$this->database[GAB]->doQuery('UPDATE INFO SET Number = 199 WHERE User = ?', $char);

...并将其放入适当的if,并在else中使用同一行的不同版本。

或者,更优雅的是,您可以为使用if ... else块定义的“数字”定义变量,并使用该变量代替查询中的硬编码199。

请注意,我故意避免在此处提供最终代码,因为如果您不想在没有理解的情况下复制和粘贴我的版本,我认为您更有可能理解将来要做什么。