Каждый из ваших if
s проверяет, есть ли какие-либо результаты запроса. Если есть - секция if
выполняется. Если нет - секция else
выполняется (а если нет else
, ничего не выполняется).
Что касается вашего вопроса о функциях - вы не можете создать функцию внутри блока if/else
, но вы можете вызвать функцию из него. Вы создаете функцию:
function total ($a, $b){
return $a+$b;
}
и вы можете вызвать его из блока if
:
if ($a==$b){
$c = total ($a,$b);
}
РЕДАКТИРОВАТЬ: Что касается вашего вопроса о не попасть во второй блок. Перед вторым блоком стоит if
следующим образом:
$sql = "SELECT COALESCE(sum(commission),0) as commission FROM atm_shoppe_commission WHERE shoppe_id ='$shoppeId'";
$query = $this->db->query($sql);
print_r($shoppeId);
if ($query->num_rows > 0)
if
проверяет, были ли возвращены какие-либо строки из запроса sql, который должен вернуть первое ненулевое выражение, следующее за условием shoppe_id ='$shoppeId'
. Только если строки не возвращаются, он попадает во второй блок, который является else
этого условия.