Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carl2512

Recuperar resultado personalizados do de uma tabela - PHP

Recommended Posts

Boa noite Galera. estou aqui mais uma vez precisando de vocês;

Estou tentando desenvolver um código em PHP a mais de uma semana mas sem sucesso;

Vou explicar o que eu preciso para ver se alguém pode me ajudar.

Preciso recuperar da "tabela imóveis" 10 resultado;

Só que os resultados "São" sim ou "Não";

Exemplo: Área Externa

 

Churrasqueira = Sim

Porteiro = Não

Playground = Sim

Restaurante = Não

Academia = Sim

Sauna = Não

piscina = Sim

S.festa = Não

S.jogos = Sim

Quadra = Não

 

Agora vem o Meu Problema! preciso recuperar os resultados da seguinte forma:

 

Quando o resultado da Variável for "Sim" ao invés de aparecer "Sim" devera aparece a "Imagem1"

Quando o resultado da Variável for "Não" ao invés de aparecer "Não" devera aparece a "Imagem2".

 

se alguém puder ajudar eu desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Galera segue o código.

Só enfatizando o que eu estou precisando é que ao invés de aparecer os resultados da tabela "sim ou não" preciso que:


Quando o resultado da Variável for "Sim" ao invés de aparecer "Sim" devera aparece a "Imagem1"


Quando o resultado da Variável for "Não" ao invés de aparecer "Não" devera aparece a "Imagem2".



agradeço a ajuda!



<ul>

<?php

$imovelUrl = mysql_real_escape_string($url['1']);

$readImovel = read('tri_imovel',"WHERE url = '$imovelUrl'");

if(!$readImovel){

header('Location: '.BASE.'/404');

}else

foreach($readImovel as $imovel);

$stIco = ($imovel == 'sim' ? '1.png' : '2.png');



echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['porteiro'].' Porteiro</li>';

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['piscina'].' Piscina</li>';

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['quadra'].' Quadra</li>';

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['restaurante'].' Restaurante</li>';

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['lanchonete'].' Lanchonete</li>';

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['academia'].' Academia</li>';

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['S_festas'].' S. de Festas</li>';

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['S_jogos'].' S. de Jogos</li>';

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['bar_molhado'].' Bar Molhado</li>';

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['churrasqueira'].' Churrasqueira</li>';

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['playground'].' Playground</li>';


?>

</ul>

Compartilhar este post


Link para o post
Compartilhar em outros sites

VOcê já não conseguiu fazer?

 $stIco = ($imovel == 'sim' ? '1.png' : '2.png'); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa noite Cleiton;
então a minha ideia com esse codigo era parecer imagem diferente conforme resultado na tabela;
porem independente do resultado da tabela só aparece a imagem 1.png

ERA PARA SER ASSIM:

ico-check.gif Porteiro

ui_check_box_uncheck.pngSalão de festas

ui_check_box_uncheck.pngAcademia

ico-check.gif Piscima

ui_check_box_uncheck.pngSalão de jogos

ico-check.gif Saúna

 

ESSE CÓDIGO ESTA ME DANDO ESSE RESULTADO:

 

ui_check_box_uncheck.png Porteiro

ui_check_box_uncheck.pngSalão de festas

ui_check_box_uncheck.pngAcademia

ui_check_box_uncheck.png Piscima

ui_check_box_uncheck.pngSalão de jogos

ui_check_box_uncheck.png Saúna

É ISSO.


mau rs

ENTÃO EU ACREDITAVA ESTAR CORRETO POREM

O RESULTADO É ESSE POSTADO ACIMA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Enclausure as partes necessárias com chaves, isso torna o seu código mais legível.

No if você usa, no else não, logo depois você já usa um foreach que serve como um aliás pois vai ser processado até o ponto e vírgula que fica logo depois dele.

 

Nessa parte:

$stIco = ($imovel == 'sim' ? '1.png' : '2.png'); 

Você compara se $imovel é igual a 'sim'

 

E logo em seguida você manda imprimir

echo '<li><img src="nav/ico/'.$stIco.'" width="14" height="14" alt="" title="" border="0" />'.$imovel['porteiro'].' Porteiro</li>';

Mas aqui você diz que $imovel é um array, isso significa que ele nunca vai ser igual a sim ou não, pois sim ou não é uma string e não pode ser comparada com um array.

 

 

Recomendo que vá debugando. Use

print'<pre>';
print_r($variavel);
exit();

nas variáveis, com isso você vai entender o que está acontecendo e vai poder arrumar ou separar os problemas em partes menores, mais fáceis de resolver

Compartilhar este post


Link para o post
Compartilhar em outros sites

Carl seu problema é o seguinte, o foreach funciona adicionando uma posição de uma array de cada vez em uma variável criada por ele, a cada volta do loop ele adiciona a posição seguinte a essa variável, o que está acontecendo no seu caso é que seu foreach não esta entrando em loop pois você esta terminando ele com ponto e virgula, sendo assim ele só esta pegando o valor da primeira posição do array e por isso você só consegue um resultado, você resolve isso fazendo um loop e transformando a sua variável $stIco em um array, espero que você tenha entendido esse lance do foreach, qualquer coisa é só perguntar, talvez tenha ficado um pouco confuso então vou deixar o código comentado aqui pra você ver

<ul>
<?php
     $imovelUrl = mysql_real_escape_string($url['1']);
     $readImovel = read('tri_imovel',"WHERE url = '$imovelUrl'");
     if(!$readImovel){
     header('Location: '.BASE.'/404');
     }else{
     /*criando um contador para gerar o loop e as posições do array*/    
     $contador = 0;    
     /*tirei o ponto e virgula do fim do foreach e coloque abertura e fechamento de chaves para possibilitar o loop*/
     foreach($readImovel as $imovel){
     /*agora o foreach esta realmente percorrendo o array e cada 'sim' e 'nao' estão sendo colocados nas devidas posições*/    
     $stIco[$contador] = ($imovel == 'sim' ? '1.png' : '2.png');      
     $contador++;
     }
     }
/*passando o array $stIco nas devidas posições corretas*/     
echo '<li><img src="nav/ico/'.$stIco[0].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['porteiro'].' Porteiro</li>';
echo '<li><img src="nav/ico/'.$stIco[1].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['piscina'].' Piscina</li>';
echo '<li><img src="nav/ico/'.$stIco[2].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['quadra'].' Quadra</li>';
echo '<li><img src="nav/ico/'.$stIco[3].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['restaurante'].' Restaurante</li>';
echo '<li><img src="nav/ico/'.$stIco[4].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['lanchonete'].' Lanchonete</li>';
echo '<li><img src="nav/ico/'.$stIco[5].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['academia'].' Academia</li>';
echo '<li><img src="nav/ico/'.$stIco[6].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['S_festas'].' S. de Festas</li>';
echo '<li><img src="nav/ico/'.$stIco[7].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['S_jogos'].' S. de Jogos</li>';
echo '<li><img src="nav/ico/'.$stIco[8].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['bar_molhado'].' Bar Molhado</li>';
echo '<li><img src="nav/ico/'.$stIco[9].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['churrasqueira'].' Churrasqueira</li>';
echo '<li><img src="nav/ico/'.$stIco[10].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['playground'].' Playground</li>';
?>
</ul>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Carl seu problema é o seguinte, o foreach funciona adicionando uma posição de uma array de cada vez em uma variável criada por ele, a cada volta do loop ele adiciona a posição seguinte a essa variável, o que está acontecendo no seu caso é que seu foreach não esta entrando em loop pois você esta terminando ele com ponto e virgula, sendo assim ele só esta pegando o valor da primeira posição do array e por isso você só consegue um resultado, você resolve isso fazendo um loop e transformando a sua variável $stIco em um array, espero que você tenha entendido esse lance do foreach, qualquer coisa é só perguntar, talvez tenha ficado um pouco confuso então vou deixar o código comentado aqui pra você ver

<ul>
<?php
     $imovelUrl = mysql_real_escape_string($url['1']);
     $readImovel = read('tri_imovel',"WHERE url = '$imovelUrl'");
     if(!$readImovel){
     header('Location: '.BASE.'/404');
     }else{
     /*criando um contador para gerar o loop e as posições do array*/    
     $contador = 0;    
     /*tirei o ponto e virgula do fim do foreach e coloque abertura e fechamento de chaves para possibilitar o loop*/
     foreach($readImovel as $imovel){
     /*agora o foreach esta realmente percorrendo o array e cada 'sim' e 'nao' estão sendo colocados nas devidas posições*/    
     $stIco[$contador] = ($imovel == 'sim' ? '1.png' : '2.png');      
     $contador++;
     }
     }
/*passando o array $stIco nas devidas posições corretas*/     
echo '<li><img src="nav/ico/'.$stIco[0].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['porteiro'].' Porteiro</li>';
echo '<li><img src="nav/ico/'.$stIco[1].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['piscina'].' Piscina</li>';
echo '<li><img src="nav/ico/'.$stIco[2].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['quadra'].' Quadra</li>';
echo '<li><img src="nav/ico/'.$stIco[3].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['restaurante'].' Restaurante</li>';
echo '<li><img src="nav/ico/'.$stIco[4].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['lanchonete'].' Lanchonete</li>';
echo '<li><img src="nav/ico/'.$stIco[5].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['academia'].' Academia</li>';
echo '<li><img src="nav/ico/'.$stIco[6].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['S_festas'].' S. de Festas</li>';
echo '<li><img src="nav/ico/'.$stIco[7].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['S_jogos'].' S. de Jogos</li>';
echo '<li><img src="nav/ico/'.$stIco[8].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['bar_molhado'].' Bar Molhado</li>';
echo '<li><img src="nav/ico/'.$stIco[9].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['churrasqueira'].' Churrasqueira</li>';
echo '<li><img src="nav/ico/'.$stIco[10].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['playground'].' Playground</li>';
?>
</ul>
Cleiton Gomes

 

Segui sua instruções aqui; realmente assim transformou a variável em um array; porem meu problema ainda continua; dessa maneira a imagem só substitui a o array declarado no no $contador ; o que esta declarado acimo do foreach; mesmo assim ainda a imagem errada, e o restante do itens não pega imagem nenhuma.

quando peço para exibir código fonte na tela, é como se não existisse a $stIco, e depois da / não existisse imagem alguma,

Se puder me ajudar com isso te agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está querendo dizer que em alguns itens aparece uma imagem (sim ou não) e nos restantes não aparece nenhuma imagem ? se for isso pode ser até que o nome da imagem e/ou a extensão dela(o .png no caso) esteja errada, explique melhor o que aparece no lugar onde deveria aparecer as imagens !

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está querendo dizer que em alguns itens aparece uma imagem (sim ou não) e nos restantes não aparece nenhuma imagem ? se for isso pode ser até que o nome da imagem e/ou a extensão dela(o .png no caso) esteja errada, explique melhor o que aparece no lugar onde deveria aparecer as imagens !

Então apenas o primeiro item da tabela pegou a imagem ex:

destacado em vermelho

 

<?php

$imovelUrl = mysql_real_escape_string($url['1']);

$readImovel = read('tri_imovel',"WHERE url = '$imovelUrl'");

if(!$readImovel){

header('Location: '.BASE.'/404');

}else{

 

$contador = 0;

foreach($readImovel as $imovel){

$stIco[$contador] = ($imovel == 'sim' ? '1.png' : '2.png');

$contador++;

}

}

echo '<li><img src="nav/ico/'.$stIco[0].'" width="14" height="14" alt="" title="" border="0" />'.$imovel['porteiro'].' ;

 

 

apenas '.$stIco[0].' os outros resultados da tabela não pega nenhuma imagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes do foreach,

dê um

print'<pre>';
print_r($variavel);
exit();

e poste o resultado no fórum.

O array imóvel, deveria ficar dentro do laço foreach e não fora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes do foreach,

dê um

print'<pre>';
print_r($variavel);
exit();

e poste o resultado no fórum.

O array imóvel, deveria ficar dentro do laço foreach e não fora.

Cleiton Gomes

Deu certo aqui a unica coisa diferente que fiz foi fecgar um dos laços no final da pagina obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.