Carl2512 0 Denunciar post Postado Maio 8, 2014 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
Cleiton Gomes 10 Denunciar post Postado Maio 8, 2014 vai ficar mais fácil alguém te ajudar se você postar o trecho do código que você precisa da solução. Compartilhar este post Link para o post Compartilhar em outros sites
mau rs 37 Denunciar post Postado Maio 8, 2014 Poste seu código que essa é fácil. Compartilhar este post Link para o post Compartilhar em outros sites
Carl2512 0 Denunciar post Postado Maio 8, 2014 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
Cleiton Gomes 10 Denunciar post Postado Maio 8, 2014 tudo bem, já sabemos o que você quer, agora precisamos saber qual o erro que está acontecendo ? o que este código está fazendo estando desta forma ? Compartilhar este post Link para o post Compartilhar em outros sites
mau rs 37 Denunciar post Postado Maio 8, 2014 VOcê já não conseguiu fazer? $stIco = ($imovel == 'sim' ? '1.png' : '2.png'); Compartilhar este post Link para o post Compartilhar em outros sites
Carl2512 0 Denunciar post Postado Maio 9, 2014 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: Porteiro Salão de festas Academia Piscima Salão de jogos Saúna ESSE CÓDIGO ESTA ME DANDO ESSE RESULTADO: Porteiro Salão de festas Academia Piscima Salão de jogos Saúna É ISSO. mau rsENTÃO EU ACREDITAVA ESTAR CORRETO POREM O RESULTADO É ESSE POSTADO ACIMA Compartilhar este post Link para o post Compartilhar em outros sites
Playerbr 21 Denunciar post Postado Maio 9, 2014 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
Cleiton Gomes 10 Denunciar post Postado Maio 9, 2014 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
Carl2512 0 Denunciar post Postado Maio 10, 2014 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
Cleiton Gomes 10 Denunciar post Postado Maio 10, 2014 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
Carl2512 0 Denunciar post Postado Maio 10, 2014 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
Playerbr 21 Denunciar post Postado Maio 10, 2014 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
Carl2512 0 Denunciar post Postado Maio 13, 2014 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 GomesDeu 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