Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso somar os valores que estáo na tabela tempo_servico, para utiliza-la posteriormente em uma validação de um determinado campo, estou fazendo da seguinte forma:
$tempoDoServico = mysqli_query($conn, "SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(tempo_servico))) FROM agendamento WHERE dia = '$diaAgendado' ");
$tempoDoServico2 = mysqli_fetch_row($tempoDoServico);
$time2= $tempoDoServico2[0];
$parts2=explode(':',$time2);
$seconds2 = ($parts2[0]*60) + $parts2[1];
$total2 = $seconds2 * 1; //este numero 1 serve para outra coisa que no momento não nos interessa.
O que ocorre é, quando há algum valor registrado na tabela, o código funciona normalmente, mas se não há nenhum valor ele exibe um erro (Notice: Undefined offset: 1 in ) isto em relação a variavel $parts2[1]. Só que sempre vai ocorrer desse registro estar vazio na primeira vez, após o primeiro usuario cadastrar sua consulta ele não exibirá mais erros. Não sei exatamente o que fazer, pois nao estou conseguindo entender, se está vazio ele simplesmente não deveria fazer nada e nao ficar exibindo erro. Espero que alguém mais experiente com PHP possa me ajudar.
Fiz dessa forma:
$time2= $tempoDoServico2[0];
$parts2=explode(':',$time2);
if(!empty($parts2[1]) )
{
$seconds2 = ($parts2[0]*60) + $parts2[1];
}
$total2 = $seconds2 * 1;
E passou a exibir o erro: Parse error: syntax error, unexpected '$total2' (T_VARIABLE) in C:
Estou aqui tentando...Na vdd o erro é esse Notice: Undefined variable: seconds2 in
if(!empty($parts2[1]) )
{
$seconds2 = ($parts2[0]*60) + $parts2[1];
} else {
$seconds2 = $parts2[0]*60;
}Funcionou certinho, mas confesso que nao entendo bem o que tá acontecendo nesse código, andei pesquisando sobre explode, até consegui compreender, mas no caso desse trecho em específico nao entendi muito bem, tenho medo de dar erros futuramente, se puder me explicar agradeço.
Nesse código
!empty() ele ve se a variável esta diferente de vazia
if(!empty($variavel)){
}
ou
pode usar
if(isset($variavel))
{
}
se variável 'existir'
amigo utilize