2
respostas

Retornar imagens através da URL na VIEW

Estou usando padrão MVC, e preciso retornar uma série de imagens do bancona View. Porém não sei a quantidade de imagens a serem retornadas. Para isso, fiz dois selects: O primeiro pega o id_categoria (Que define qual a página atual). O segundo, pega de acordo com o ID_Galeria (Parametro que deve ser setado na view). Não estou conseguindo retornar nada, o resultado dá sempre Null. Peço ajuda de vocês

Método na Model

 protected function mostrarImagemGaleria($id_categoria, $id_galeria)
    {

        $sql = "SELECT * FROM galerias WHERE id_categoria = " . $id_categoria . ";"; /// Retorna o id galeria, para ser passado como parametro-
        $sql2 = "SELECT url_imagem FROM galeria_fotos WHERE id_galeria = '" . $sql . "'";



        exit($sql2);
        $resultado = Conexao::getInstance()->executeS($sql2);

        return $this->getListaRegistros($resultado);


    }

No Controller

 public function mostrarImagemGaleria($id_categoria, $id_galeria)
  {
      return parent::mostrarImagemGaleria($id_categoria, $id_galeria);
  }

Na View

$mostrarImagem = $galeria->mostrarImagemGaleria(PAGINA_EMPORIO, id_galeria);   // Este 'PAGINA_EMPORIO' pega o ID da pagina

Agora gostaria de saber como posso retornar os dados na view, com um comando de repetição pra poder pegar todas. Porém o resultado sempre dá NULL, alguém me ajuda por favor

2 respostas

Tente fazer o seguinte ajuste no Model:

 protected function mostrarImagemGaleria($id_categoria, $id_galeria) {

        $sql2 = "SELECT url_imagem FROM galeria_fotos WHERE id_galeria in (SELECT id_galeria FROM galerias WHERE id_categoria = " . $id_categoria . ")";

        $resultado = Conexao::getInstance()->executeS($sql2);

        return $this->getListaRegistros($resultado);

    }

Oi Everson, tudo bom?

Como o Daniel mostrou, o resultado da variavel $sql é injetado na variavel $sql2, mas fatlou a função in() do mysql recebendo esse valor pra retornar.

Verifica a query e qualquer problema é só falar =)

Abraço