Jump to content
felpsquirino

Condição if e else em um foreach

Recommended Posts

Olá Pessoal;

Já tem alguns dias que venho perdendo a cabeça rsrs não consigo fazer um if e else em um loop foreach meu código: 

<?php if (isset($list_pedidos_abertos)){ foreach($list_pedidos_abertos as $row) : ?>
	<div class="espera_item">
		<?php echo $row->html?>
	</div>
<?php endforeach; } ?>

Eu preciso que quando não tiver nenhum registro ele mostre a mensagem "Nenhum registro encontrado", tentei fazer assim mas não deu certo ele não retorna "0" na contagem: 

<?php 
$cont = 0;
foreach($list_pedidos_abertos as $row){ 
$cont = $cont +1;
  
if($cont == 0){
	echo 'nenhum registro encontrado';
}else{                      
?> 
	<div class="espera_item">
    	<?php echo $row->html?>
    </div>
<?php
	}
} 
?>

 o que eu estou fazendo de errado ? Grato pela ajuda ;)

Share this post


Link to post
Share on other sites

O que está errado é o $cont que você está utilizando, você tem que contar a quantidade de conteúdo dentro de $list_pedidos_aberto, fazer uma verificação com empty ou qualquer outra função pra verificar o conteúdo dentro de $list_pedidos_abertos, exemplo:

<?php 
foreach($list_pedidos_abertos as $row){  
if(empty($list_pedidos_abertos)){
	echo 'nenhum registro encontrado';
}else{                      
?> 
	<div class="espera_item">
    	<?php echo $row->html?>
    </div>
<?php
	}
} 
?>

Nesse exemplo aí que te dei ele verifica se $list_pedidos_aberto está vazio (empty($list_pedidos_abertos)), se tiver vazio ele dispara a mensagem de nenhum registro encontrado, se não tiver vazio ele segue normalmente o bloco else.

 

Da forma como você estava fazendo o contador $cont já adicionava +1 logo no início do script e por isso no seus testes não aparecia a mensagem "nenhum registro encontrado" pq o resultado de $cont já é 1 antes de chegar no if que verificava se $list_pedidos_abertos era 0 ou não.

  • +1 1

Share this post


Link to post
Share on other sites

Se a variavel $list_pedidos_abertos é recebida de uma consulta do BD, o jeito certo seria assim:

<?php
if($list_pedidos_abertos == true)
{
	foreach($list_pedidos_abertos as $row)
	{

?> 
	<div class="espera_item">
    	<?php echo $row->html?>
    	</div>
<?php
	}
}else{

	echo 'Nenhum registro encontrado.';
} 
?>

 

  • +1 1

Share this post


Link to post
Share on other sites
3 horas atrás, BrunoMs disse:

O que está errado é o $cont que você está utilizando, você tem que contar a quantidade de conteúdo dentro de $list_pedidos_aberto, fazer uma verificação com empty ou qualquer outra função pra verificar o conteúdo dentro de $list_pedidos_abertos, exemplo:


<?php 
foreach($list_pedidos_abertos as $row){  
if(empty($list_pedidos_abertos)){
	echo 'nenhum registro encontrado';
}else{                      
?> 
	<div class="espera_item">
    	<?php echo $row->html?>
    </div>
<?php
	}
} 
?>

Nesse exemplo aí que te dei ele verifica se $list_pedidos_aberto está vazio (empty($list_pedidos_abertos)), se tiver vazio ele dispara a mensagem de nenhum registro encontrado, se não tiver vazio ele segue normalmente o bloco else.

 

Da forma como você estava fazendo o contador $cont já adicionava +1 logo no início do script e por isso no seus testes não aparecia a mensagem "nenhum registro encontrado" pq o resultado de $cont já é 1 antes de chegar no if que verificava se $list_pedidos_abertos era 0 ou não.

Entendi agora o que eu estava fazendo de errado... eu estava colocando + 1 bem no inicio ai não ia dar 0 nunca. mas com o seu exemplo de codigo não retornou a mensagem, consegui a solução com o exemplo do nosso amigo Luiz gustavo fazendo isso: 

<?php
if($list_pedidos_abertos == true){
	foreach($list_pedidos_abertos as $row){
?> 
	<div class="espera_item">
    	<?php echo $row->html?>
    </div>
<?php
    }
}else{
	echo 'Nenhum registro encontrado.';
} 
?>

Muito obrigado pela explicação! 

2 horas atrás, Luiz Gustavo Costa Ceolin disse:

Se a variavel $list_pedidos_abertos é recebida de uma consulta do BD, o jeito certo seria assim:


<?php
if($list_pedidos_abertos == true)
{
	foreach($list_pedidos_abertos as $row)
	{

?> 
	<div class="espera_item">
    	<?php echo $row->html?>
    	</div>
<?php
	}
}else{

	echo 'Nenhum registro encontrado.';
} 
?>

 

Luiz, muito obrigado essa é a solução grande abraço! 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By terra
      Olá,
      aqui a parte de um var_dump de uma variavel $result, preciso pegar somente o title, tentei:
      $result->title
      $result[0]->title
      $result[0]['title']
      string(1846) "{"result":{"title":"ALMOXARIFE I","company":"","rating":"4","reviews_count":"1242" agradeço qualquer ajuda.
    • By Lenon John
      Simulador de Frete
      Endpoint: https://www.jadlog.com.br/embarcador/api/frete/valor/
      Metodo: POST

      Header:
      Content-Type: application/json
      Authorization: <token>
       
      Código do simulador de frete:
      { "frete": [ { "cepori": "06233200", "cepdes": "17213580", "frap": null, "peso": 13.78, “cnpj”: “12345678901234”, "conta": "000001", "contrato": "123", "modalidade": 3, "tpentrega": "D", "tpseguro": "N", "vldeclarado": 149.97, "vlcoleta": null } ]
    • By Jack Oliveira
      Ola pessoal boa noite a todos...
      Estou tendo uma dificuldade em passar a url que esta sendo digitada no nagevador
      Ou seja uma das url ate que passa, porem as demais url não mostra sempre a mesma pagina que foi aberta
      Creio que seria um tipo de conflitos
      por exemplo: se eu acessar a seguinte url
      Ex1: meusite.com/sao-paulo/list/minha-empresa-aqui/
      e se eu acessar outra url com o mesmo no da empresa da seguinte forma
      Ex2: meusite.com/sao-paulo/catalogo/minha-empresa-aqui/
      ela teria que mostrar o que esta no EX2 mais porem fica na pagina do EX1 mais com a url no navegador do Ex2
      Bom e tbm preciso passar os paramentros da pagina de pesquisa 
      ou fazer uma busca a url me retorna a seguinte forma
      EX3: meusite.com/buscar/?search_string=mercados&cidade=sao-paulo
      e quero que seja mostrar desta forma, 
      EX4: meusite.com/sao-paulo/buscar/mercados/
      caso tenha paginação ela ficar assim ao pegar paginação meusite.com/sao-paulo/buscar/mercados/12/
      Ou seja o que preciso é que não importar quanto paramentros seja queria que mostrasse conforme mostra no comentario do PHP
      segue o código logo a baixo com htaccess
      Talvez seja até coisa simples de se resolver ou pode ser eu fazendo da forma incorreta aqui...
       
      HTACCESS
       
      RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [NC,L] INDEX.PHP
       
      <?php ob_start(); session_cache_expire(60); //session_start(); if (!file_exists('CPANELUSER/database/config.php')) { header("Location: CPANELUSER/setup.php"); } else { require_once ('CPANELUSER/database/config.php'); } require_once ('CPANELUSER/database/config.painel.php'); require_once ('CPANELUSER/database/config.database..php'); require_once ('CPANELUSER/database/config.session.php'); require_once ('CPANELUSER/includes/funcoes.php'); // Obtendo o URL dos arquivos atual //$page = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1); function UrlAmigavelPHP(){ if(isset($_GET['url'])) { $url = $_GET['url'] ? $_GET['url'] : "home"; //$search_string = $_GET['search_string'] ? $_GET['search_string'] : "home"; //$cidade = $_GET['cidade'] ? $_GET['cidade'] : "home"; //var_dump($url); //var_dump($search_string); //var_dump($cidade); $UrlFormatada = explode('/', $_SERVER['REQUEST_URI']); if(empty($UrlFormatada[1])) { $URL1 = ''; }else{ $URL1 = ''.$UrlFormatada[1].'/'; } if(empty($UrlFormatada[2])) { $URL2 = ''; }else{ $URL2 = ''.$UrlFormatada[2].'/'; } if(empty($UrlFormatada[3])) { $URL3 = ''; }else{ $URL3 = ''.$UrlFormatada[3].'/'; } if(empty($UrlFormatada[4])) { $URL4 = ''; }else{ $URL4 = ''.$UrlFormatada[4].'/'; } if(empty($UrlFormatada[5])) { $URL5 = ''; }else{ $URL5 = ''.$UrlFormatada[5].'/'; } if(empty($UrlFormatada[6])) { $URL6 = ''; }else{ $URL6 = ''.$UrlFormatada[6].'/'; } //Passando a url completa $Paramentros = ''.$URL1.''.$URL2.''.$URL3.''.$URL4.''.$URL5.''.$URL6.''; }else{ $url = 'home'; } switch($url) { //HOME case 'home'; include_once('directory-home.php'); //meusite.com/cidade-principal/ que vai aparecer no index.php break; //LISTAGEM case $Paramentros; include_once('directory-listagem.php'); //meusite.com/cidade-principal/list/nome-de-uma-empresa/ break; //CATALOGO case $Paramentros; $Query = DBRead('directory_cidades','*',"WHERE status='1' AND slug='".GetUrlBasecidade."'")[0]; $TblEmpresa = DBRead("directory_listing","*","WHERE slug='".GetUrlBase."' AND cidade='{$Query['titulo']}'"); if (is_array($TblEmpresa)) { foreach ($TblEmpresa as $Empresa) { extract($Empresa); $titles = ''.trim(mb_convert_case($titulo, MB_CASE_TITLE, "UTF-8")).' | '.trim(mb_convert_case(ConfigPainel("site_nome"), MB_CASE_TITLE, "UTF-8")).''; $getId = $id; $getu = $id_user; //Url Menu Lateral das Empresas $CidadeUrl = ''.ConfigPainel("site_url").''.GetUrlBasecidade.'/'; $UrlEmpresa = ''.$CidadeUrl.'list/'.GetUrlBase.'/'; $UrlCatalogo = ''.$CidadeUrl.'catalogo/'.GetUrlBase.'/'; $UrlPortfolio = ''.$CidadeUrl.'portfolio/'.GetUrlBase.'/'; $UrlEventos = ''.$CidadeUrl.'agenda/'.GetUrlBase.'/'; $UrlClassificados = ''.$CidadeUrl.'vagas/'.GetUrlBase.'/'; $UrlContato = ''.UrlAmigavel($menu5).''; //Pegando os ids switch ($Empresa['id_destaque']) { case '5': $index_seo = ''; break; case '4': $index_seo = 4; break; case '3': $index_seo = 3; break; case '2': $index_seo = 2; break; case '1': $index_seo = 1; break; case '0': $index_seo = 0; break; } $Query = DBRead('directory_itens','*',"WHERE status='1' AND user_id='{$getu}' ORDER BY nome_item ASC LIMIT 100"); $NomeCity =''.$cidade.''; define("METAKEYWORD", $palavra_chave); define("METADESCRIPTION", $frase); define("METATITLE", ''.(!empty($definir) ? 'Cardápio | '.LetraMaiuscula($titulo) : 'Catálogo | '.LetraMaiuscula($titulo).'').' | '.ConfigPainel("site_nome").''); //1 Cardápio > 2 Catálogo > 3 Imóveis > 4 Produtos //Configuração $QueryEmpresa = DBRead('directory_listing','*',"WHERE id_user='{$getu}' ORDER BY id LIMIT 1")[0]; //company-product $QueryItemCount = DBRead('directory_itens','*', "WHERE status= '1' AND user_id='{$getu}' ORDER BY nome_item")[0]; if($definir == 1) { $Menu1 = $QueryEmpresa['menu1']; if($QueryItemCount['user_id'] == $getu) { $Status1 = 1; //1 Ativo }else{ $Status1 = 0; //0 Inativo } $Icone = 'fa-cutlery'; }elseif($definir == 2) { $Menu1 = $QueryEmpresa['menu1']; if($QueryItemCount['user_id'] == $getu) { $Status1 = 1; //1 Ativo }else{ $Status1 = 0; //0 Inativo } $Icone = 'fa-shopping-bag'; }elseif($definir == 3) { $Menu1 = $QueryEmpresa['menu1']; if($QueryItemCount['user_id'] == $getu) { $Status1 = 1; //1 Ativo }else{ $Status1 = 0; //0 Inativo } $Icone = 'fa-home'; }elseif($definir == 4) { $Menu1 = $QueryEmpresa['menu1']; if($QueryItemCount['user_id'] == $getu) { $Status1 = 1; //1 Ativo }else{ $Status1 = 0; //0 Inativo } $Icone = 'fa-product-hunt'; } //company-portfolio $QueryPorCount = DBRead('directory_portifolio','*', "WHERE status= '1' AND id_user = '{$getu}' ORDER BY id")[0]; $Menu2 = $QueryEmpresa['menu2']; if($QueryPorCount['id_user'] == $getu) { $Status2 = 1; //1 Ativo }else{ $Status2 = 0; //0 Inativo } //company-events $Menu3 = $QueryEmpresa['menu3']; $QueryAgCount = DBRead('directory_agenda','*', "WHERE status= '1' AND idempresa = '{$getId}'")[0]; if($QueryAgCount['idempresa'] == $getId) { $Status3 = 1; //1 Ativo }else{ $Status3 = 0; //0 Inativo } //company-blog $QueryNumBlog = DBRead('directory_emprego','*',"WHERE status='1' AND id_empresa = '{$getId}'")[0]; $Menu4 = $QueryEmpresa['menu4']; if($QueryNumBlog['id_empresa'] == $getId) { $Status4 = 1; //1 Ativo }else{ $Status4 = 0; //0 Inativo } //company-contact $Menu5 = $QueryEmpresa['menu5']; define("METAURL", "".ConfigPainel("site_url")."".$UrlCatalogo.""); define("METAIMAGEM", "".ConfigPainel("site_url")."assets/".GetUrlBase."/".$logo.""); if (empty($index_seo)) { define("METAINDEXAR", "noall, noindex, nofollow"); //noall, noindex, nofollow //Redireciona(ConfigPainel("site_url")); }else{ define("METAINDEXAR", "all, index, follow"); //all, index, follow } } } else{ //Redireciona(''.ConfigPainel("site_url").''.UrlAmigavel($cidade).'/'); } require_once('Inc/hora.php'); $diasemana = array('Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sabado'); $data = date('Y-m-d'); $diasemana_numero = date('w', strtotime($data)); $diadehoje = $diasemana[$diasemana_numero]; //$todososdias = 'null'; include_once('directory-catalogo.php');//meusite.com/cidade-principal/catalogo/nome-de-uma-empresa/ break; //PORTFOLIO case $Paramentros; include_once('directory-portfolio.php');//meusite.com/cidade-principal/portfolio/nome-de-uma-empresa/ break; //AGENDA case $Paramentros; include_once('directory-agenda.php');//meusite.com/cidade-principal/agenda/nome-de-uma-empresa/ break; //BLOG case $Paramentros; include_once('directory-blog.php');//meusite.com/cidade-principal/vagas/nome-de-uma-empresa/ break; //PESQUISAR case $Paramentros; include_once('directory-buscar.php');//meusite.com/cidade-principal/buscar/loja/ break; //SOBRE case $Paramentros; include_once('directory-sobre.php');//meusite.com/cidade-principal/sobre/ break; //PLANO case $Paramentros; include_once('directory-plano.php');//meusite.com/cidade-principal/plano/ break; //CONTATO case $Paramentros; include_once('directory-contato.php');//meusite.com/cidade-principal/contato/ break; default; include_once('directory-404.php'); break; } } UrlAmigavelPHP(); ?> Perdoa se ficou muito grande os codigo ai na parte do catalogo coloquei para poder ver como estou recendo os paramentros
       
      Desde já fico no guardo se alguém puder dar uma idiea ai
    • By Lenon John
      Detalhe importante:
      Se eu digito MINHA_CHAVE_JADLOG incorreta, ai eu recebo um retorno informado que as credenciais estão incorretas.
      Se eu digito MINHA_CHAVE_JADLOG corretamente, não recebo nenhum retorno.

      $dados = [
        'frete' => [
          'cepori' => '29010070',
          'cepdes' => '29300040',
          'frap' => '',
          'peso' => 2,
          'cnpj' => '00000000000100',
          'conta' => '000001',
          'contrato' => '',
          'modalidade' => 4,
          'tpentrega' => 'D',
          'tpseguro' => 'N',
          'vldeclarado' => 100,
          'vlcoleta' => ''
        ]
      ];
      $postfields = http_build_query($dados);
       
      $header = array();
      $header[] = 'Authorization: Bearer MINHA_CHAVE_JADLOG';
      $header[] = 'Content-Type: application/json';
      $header[] = 'description:';
       
      $curl = curl_init('https://www.jadlog.com.br/embarcador/api/frete/valor/');
      curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
      curl_setopt($curl, CURLOPT_POST, true);
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
       
      $exec = curl_exec($curl);
      $jadlog = json_decode($exec);
       
      curl_close($curl);
       
      print_r($jadlog);
    • By PToledo
      Olá Pessoal, preciso criar uma tabela exibindo F(falta) ou P(Presença) ou A(Abono)
      Para os 12 meses do Ano..Para os 31 dias do MES
       

       
      Minha tabela no mysql
       

       
      Gostaria de criar um select, já criando a linha mensal (jan, Fev...) e preenchendo os dias com presença P ou A abono.
       
      Quem puder me ajudar agradeço.
       
       
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.