Php 实现if-else循环或else-if-and-can在循环中写入函数的正确方法
Blockquote block2Php 实现if-else循环或else-if-and-can在循环中写入函数的正确方法,php,codeigniter,Php,Codeigniter,Blockquote block2 我是PHP新手,有人能告诉我在上面显示的代码中使用if/else或elseif的正确方法吗?它不能去第二个街区。另外,我是否可以在if/else块中编写函数?如果ifs检查查询是否有任何结果。如果有-执行If部分。如果没有-执行else部分(如果没有else,则不执行任何操作) 至于您关于函数的问题,您不能在if/else块中创建函数,但可以从中调用函数。您可以创建一个函数: $sql = "SELECT shoppe_id FROM
我是PHP新手,有人能告诉我在上面显示的代码中使用
if/else
或elseif
的正确方法吗?它不能去第二个街区。另外,我是否可以在if/else
块中编写函数?如果if
s检查查询是否有任何结果。如果有-执行If
部分。如果没有-执行else
部分(如果没有else
,则不执行任何操作)
至于您关于函数的问题,您不能在if/else
块中创建函数,但可以从中调用函数。您可以创建一个函数:
$sql = "SELECT shoppe_id FROM atm_store WHERE user_id='$userId'";
$query = $this->db->query($sql);
if ($query->num_rows() > 0) {
$result = $query->row();
$storeId = $result->shoppe_id;
$sql = "SELECT COALESCE(sum(commission),0) as commission FROM atm_store_commission WHERE shoppe_id ='$storeId'";
$query = $this->db->query($sql);
print_r($storeId);
if ($query->num_rows > 0) {
$result = $query->row();
$commission = $result->commission;
return $commission;
}
}
}
}
}
您可以从if
块调用它:
function total ($a, $b){
return $a+$b;
}
编辑:关于你关于没有到达第二个街区的问题。在第二个块之前有一个if
,如下所示:
if ($a==$b){
$c = total ($a,$b);
}
if
检查是否有任何行从sql查询返回,该查询应返回符合条件shoppe\u id='$shoppeId'
的第一个非空表达式。只有在没有返回行的情况下,它才会进入第二个块,这是此条件的else
。您是否在寻找类似以下内容:
$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)
是的,类似于它…但是如果($store\u query->num\u rows()>0){$result=$query->row(),它将不会获取storeID$storeId=$result->shoppe\u id;谢谢jimy…但是假设我有几个函数,并且我需要为不同的函数使用相同的store\u id和shoppe\u id…如何实现它您可以在函数参数中传递它们或使它们成为全局变量(不推荐)如果你需要将变量传递给不同的函数,那么你需要用OOP重新设计它。我可以在if-else循环中编写一个函数toltal($user)吗?或者如果你有1$query->num\u rows()和其他的$query->num\u rows()那么这是一个输入错误还是故意的?为什么有时候是
$query->num rows
或者$query->->num rows()
?蒂姆,这不是答案,应该是一条评论(有人已经评论过了),如果可能的话,我也会很乐意评论的,但我看不出有能力对主要问题发表评论。我开始键入这条评论时,没有其他评论。
$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)
function toltalRetailerComm($userId) {
//print_r ($shoppeId);
$sql = "SELECT shoppe_id FROM atm_super_shoppe WHERE user_id='$userId'";
$shoppe_query = $this->db->query($sql);
$sql = "SELECT shoppe_id FROM atm_store WHERE user_id='$userId'";
$store_query = $this->db->query($sql);
if ($shoppe_query->num_rows() > 0) {
$result = $shoppe_query->row();
$shoppeId = $result->shoppe_id;
$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) {
$result = $query->row();
$commission = $result->commission;
return $commission;
}
} else if ($store_query->num_rows() > 0) {
$result = $store_query->row();
$storeId = $result->shoppe_id;
$sql = "SELECT COALESCE(sum(commission),0) as commission FROM atm_store_commission WHERE shoppe_id ='$storeId'";
$query = $this->db->query($sql);
print_r($storeId);
if ($query->num_rows > 0) {
$result = $query->row();
$commission = $result->commission;
return $commission;
}
}
}