Good morning, I'd like my JSON filtering to look also if what I searched for indicates "true" or "false."
I use this array to search the file:
<?php
session_start();
error_reporting(0);
//função para filtrar os anúncios
function filtroAnuncio($filtro, $dados){
$nome = strtolower($dados["nome"]) ;
$nomeConveniado = strtolower($filtro["nomeConveniado"]) ;
if( ($filtro["cidade"] == "" || $filtro["cidade"] == $dados["cidade"]) &&
($filtro["servico"] == "" || $filtro["servico"] == $dados["servicos"]) &&
($filtro["especialidade"] == "" || $filtro["especialidade"] == $dados["especialidade"]) &&
($filtro["nomeConveniado"] == "" || strrpos($nome, $nomeConveniado) !== false )
) {
return true;
}
return false;
}
$conveniados = array();
$destaques = array();
$servicos = array();
$locais = array();
$especialidades = array();
// necessário utilização de cache
if(empty(@$_SESSION["convs"])){
$convs = json_decode(file_get_contents('#'));
$_SESSION["convs"] = $convs;
}
$convs = $_SESSION["convs"];
foreach($convs as $conv){
$info = array();
$info["nome"] = $conv->nmConveniado;
$info["categoria"] = $conv->listaEspecialidade[0]->nmEspecialidade;
$especialidades[] = $conv->listaEspecialidade[0]->nmEspecialidade;
//estava faltando adicionar campo especilidade
$info["especialidade"] = $conv->listaEspecialidade[0]->nmEspecialidade;
$info["endereco"] = $conv->listaEndereco[0]->nmLogradouro;
$info["bairro"] = @$conv->listaEndereco[0]->nmBairro;
$info["cidade"] = $conv->listaEndereco[0]->nmCidade;
$info["telefone"] = $conv->dsTelefone1;
$locais[] = $conv->listaEndereco[0]->nmCidade;
$info["estado"] = $conv->listaEndereco[0]->sgEstado;
$servicos_str = '';
$k=0;
foreach($conv->listaServico as $serv_str){
$k++;
$servicos[] = $serv_str->nmServico;
if($k==count($conv->listaServico)){
$servicos_str .= $serv_str->nmServico;
} else {
$servicos_str .= $serv_str->nmServico.', ';
}
}
$info["servicos"] = $servicos_str;
//adicionado informação de destaque no array
$info["flDestaqueSite"] =$conv->flDestaqueSite;
$info["imagem"] = $conv->listaImagem[0]->nmArquivo;
$conveniados[] = $info;
if($conv->flDestaqueSite){
$destaques[] = $info;
}
}
$_especialidades = array_unique($especialidades);
$_servicos = array_unique($servicos);
$_locais = array_unique($locais);
asort($_especialidades);
asort($_servicos);
asort($_locais);
?>
But I would like to add a true, because in the JSON file it displays this way when the name has to appear:
"flDestaqueSite": "True"
This is the display code:
<!-- Lista -->
<?php $d=0; ?>
<!--<?php shuffle($destaques); ?>-->
<?php
usort($destaques, function($a, $b){
if($a["flDestaqueSite"] == $b["flDestaqueSite"] ) return 0;
return ($a["flDestaqueSite"] < $b["flDestaqueSite"] ) ? 1 : -1;
});
foreach($destaques as $destaque){ ?>
<?php
//filtra os anúncio que não corresponde aos criterios
if(filtroAnuncio($_POST, $destaque)==false) continue;
$d++;
if($d<=5)
{
?>
<div class="col-lg-12 col-md-12" local="<?php echo $destaques["cidade"]; ?>">
<div class="listing-item-container list-layout">
<a href="#conteudo" class="listing-item">
<!-- Imagem -->
<div class="listing-item-image">
<?php if($destaque["imagem"] != ''){ ?>
<img data-cfsrc="<?php echo $destaque["imagem"]; ?>" alt="<?php echo $destaque["nome"]; ?>" style="display:none;visibility:hidden;"><noscript><img src="<?php echo $destaque["imagem"]; ?>" alt="<?php echo $destaque["nome"]; ?>"></noscript>
<?php } else { ?>
<img data-cfsrc="images/sem-imagem.jpg" alt="<?php echo $destaque["nome"]; ?>" style="display:none;visibility:hidden;"><noscript><img src="images/sem-imagem.jpg" alt="<?php echo $destaque["nome"]; ?>"></noscript>
<?php } ?>
<span class="tag"><?php echo $destaque["categoria"]; ?></span>
</div>
<!-- Conteúdo -->
<div class="listing-item-content">
<div class="listing-badge anunciante">Anunciante</div>
<div class="listing-item-inner">
<h3><?php echo $destaque["nome"]; ?> <i class="verified-icon"></i></h3>
<span><?php echo $destaque["telefone"]; ?></span></br>
<span><?php echo $destaque["endereco"]; ?>, <?php echo $destaque["bairro"]; ?>, <?php echo $destaque["cidade"]; ?> - <?php echo $destaque["estado"]; ?></span>
</div>
</div>
</a>
</div>
</div>
<?php } ?>
<?php } ?>