Ir para conteúdo
Fórum Script Brasil
  • 0

Listar imagem por pasta/categoria do banco de dados


uilhian

Pergunta

eu tenho o seguinte código:

<div id="CONTEUDO">
                <h1>portif&oacute;lio</h1>
                <p><?php echo $portifolio_texto; ?></p>
                <?php $i = 0; foreach (glob("imgs/01/*.jpg") as $i1) { $class =  $i>=1 ? 'style="display: none;"':''; ?>
                        <div class="thumb" <?php echo $class; ?>><a href="<?php echo $i1; ?>" rel="lightbox[roadtrip]"><img src="thumb.php?img=<?php echo $i1; ?>" /></a></div>
                <?php $i++; } ?>
                <?php $i = 0; foreach (glob("imgs/02/*.jpg") as $i2) { $class =  $i>=1 ? 'style="display: none;"':''; ?>
                        <div class="thumb" <?php echo $class; ?>><a href="<?php echo $i2; ?>" rel="lightbox[roadtrip2]"><img src="thumb.php?img=<?php echo $i2; ?>" /></a></div>
                <?php $i++; } ?>
                <?php $i = 0; foreach (glob("imgs/03/*.jpg") as $i3) { $class =  $i>=1 ? 'style="display: none;"':''; ?>
                        <div class="thumb" <?php echo $class; ?>><a href="<?php echo $i3; ?>" rel="lightbox[roadtrip3]"><img src="thumb.php?img=<?php echo $i3; ?>" /></a></div>
                <?php $i++; } ?>

e assim vai...
</div>
só que ta sobrecarregando a pagina conforme vai adicionando pastas... ae pensei em colocar num banco de dados pra tentar "simplificar" assim... tenho um banco de dados assim: ID | PASTA | CIDADE | STATUS 01 | imgs/01/*.jpg | SP | Finalizada 02 | imgs/02/*.jpg | MG | Finalizada gostaria de saber como faço pra "MOSTRAR" somente a primeira imagem de cada pasta separadamente, e ao clicar nela abrir as imagens corrente de cada pasta. ? tipo porque eu tava fazendo tudo isso manualmente como podem ver no código acima toda vez que criava uma pasta tinha que adiciona o código manualmente. o site pra ter uma ideia é ESSE AQUI tenho isso aqui de php:
<?php
        $consulta = mysql_query("SELECT * FROM minha_tabela ORDER BY cidade LIMIT 8");
        if (!$consulta) { echo(''.$erro[OPS].''); } else {
        while($verificar = mysql_fetch_array($consulta)) {
                $id             = $verificar["ID"]     ;
                $pasta          = $verificar["PASTA"]  ;
                $status         = $verificar["STATUS"] ;
                        
        } }
?>

caso alguém possa me ajuda desde já muito obrigado.

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Cara,

Não da pra eu te dar um certeza pois nunca usei o lightbox... Mas acredito que não mude muita coisa não :P Eu uso o fancybox pois ele possui, na minha opnião, a melhor documentação dessa categoria ^^

Aaaa, se você quiser inserir um título na imagem, basta você inserir o parâmetro title após p parâmetro href, ficando desta forma:

$url_valor .= "{href : 'http://localhost/estudo/galeria/img/pasta_".$id_pasta."/".$query_array['imagem']."', title: '".$query_array['nome']."'},";

Dessa forma, quando você abrir a galeria de imagens, vai aparecer uma descrição embaixo de cada imagem :)

Editado por dedas
Link para o comentário
Compartilhar em outros sites

  • 0

uma duvida,

que nem eu preenchi o campo "CIDADE" aqui somente nas imagens "PASTA" com id 0.

só que na hora de "resgatar" title: '".$query_array['cidade']."' ele não me traz os dados pois o campo referente a cidade nas "imagens" eu deixei como nulo.

tem como resgatar somente os dados somente das "pasta" com id 0 ?

Link para o comentário
Compartilhar em outros sites

  • 0

assim...

o esquema que foi feito no banco fico assim...

ID | PASTA-ID | NOME | CIDADE | STATUS
1        0     pasta1    sp           1 
2        0     pasta2    mg           0  
3        1     imge1     null         null
4        2     imge1     null         null

certo, ae o que acontece eu queria pegar o valor dos campos CIDADE e STATUS de todas as pastas entendeu...

eu deixei a imagens com o campo NULL porque se precisar "EDITAR" só editaria um campo e não precisava editar todos os campos das imagens referente a pasta, entendeu ?

ae não sei se isso é possivel!

Editado por uilhian
Link para o comentário
Compartilhar em outros sites

  • 0
assim...

o esquema que foi feito no banco fico assim...

ID | PASTA-ID | NOME | CIDADE | STATUS
1        0     pasta1    sp           1 
2        0     pasta2    mg           0  
3        1     imge1     null         null
4        2     imge1     null         null

certo, ae o que acontece eu queria pegar o valor dos campos CIDADE e STATUS de todas as pastas entendeu...

eu deixei a imagens com o campo NULL porque se precisar "EDITAR" só editaria um campo e não precisava editar todos os campos das imagens referente a pasta, entendeu ?

ae não sei se isso é possivel!

Olá!

Pegar dados da tabela?é isso que você quer fazer?

Link para o comentário
Compartilhar em outros sites

  • 0

isso pegar os dados dos campos cidade e status mas somente os que a PASTA-ID seja = 0.

porque que nem aqui desse jeito que to usando ele pega os dados de "todos" os itens, mas somente os itens com PASTA-ID = 0 ta preenchido o resto é tudo "null". ae no caso não ta me retornando nada.

$url_valor .= "{href : 'http://localhost/estudo/galeria/img/pasta_".$id_pasta."/".$query_array['imagem']."', title: '".$query_array['cidade']." ".$query_array['status']."'},";

Link para o comentário
Compartilhar em outros sites

  • 0

Cara,

O local onde você está retornando a cidade e o status do registro é o local onde as imagens da pasta estão sendo exibidas, ou seja, a pasta_id desses registros retornados NUNCA vai ser 0, pois como eu te expliquei anteriormente, para que um registro seja considerado imagem, a pasta_id dele tem que ser diferente de 0.

Eu te enviei 2 arquivos, o script_brasil.php e o script.brasil.ajax.php. O primeiro, lista as pastas e suas respectivas imagens. O segundo, lista as imagens daquela pasta. Com base nisso, você quer inserir a cidade e status aonde ? Imagens ou pasta ?

Editado por dedas
Link para o comentário
Compartilhar em outros sites

  • 0

bom eu inseri os dados da cidade e status somente nas PASTAS, pra tipo se fosse precisar editar editaria somente "um registro" ao invez de editar todos registros de imagem referente a pasta...

mas se não da pra pega o valor, paciencia eu coloco a cidade e o status registro por registro... ;)

valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

Rapaz,

Agora eu entendi o que você quer fazer :P Da pra fazer sim, não precisa fazer inserir a cidade e status em cada registro. Cria um select depois do select das imagens dentro do arquivo script.brasil.ajax.php onde a pasta_id é igual ao id. Dessa forma, você vai pegar os dados da pasta em que estão aquelas imagens. Ai fica facim facim de retornar a cidade e o status daquela pasta :P Tenta desenrolar ai, senão conseguir, posta o script do arquivo aqui que eu te ajudo.

abraço!

Link para o comentário
Compartilhar em outros sites

  • 0
aqui de baixo ?

$query_str = "SELECT * FROM tabela_teste WHERE PASTA-ID = ".$id_pasta;
     $query = mysql_query($query_str);

?

Exato :) Ai você cria outra select abaixo desse onde o id é igual a pasta id do registro acima. O select que você vai criar, será para pegar as informações da pasta onde estão cadastradas as imagens. Entendeu ?

Link para o comentário
Compartilhar em outros sites

  • 0

Não. Nesse caso, você não executou a segunda query. Você teria que fazer isso:

<?php
$query_str = "Select * From imagem Where id_pasta = ".$id_pasta;
$query = mysql_query($query_str);

$query_str_pasta = "Select * From imagem Where id = ".$id_pasta;
$query_pasta = mysql_query($query_str);
if($query_array_pasta = mysql_fetch_array($query_pasta)){ $cidade = $query_array_pasta['cidade']; $status = $query_array_pasta['status'];}
?>

Ai la no loop, no campo title, você incluiria a variável $cidade e $status.

Link para o comentário
Compartilhar em outros sites

  • 0

dedas, só você pra me ajuda mesmo cara pois não consigo de jeito nenhum adapta essa pagina ao código pra rodar "certo".

caso não seja possivel de boas também... ;)

index.php

<div id="dados">
                <?php
                    $query_str = ("SELECT COUNT(*) as cont FROM tabela_teste WHERE ID_PASTA = 0");
                    $query = mysql_query($query_str);
                    $quant_resul = 8;
                    $pagina = 1;
                    $paginas = ceil($query['count'] / $quant_resul);
                    $result = mysql_query("SELECT *FROM tabela_teste LIMIT 0 , " . $quant_resul);

                    $x = 1;

                    while($query_array = mysql_fetch_assoc($result)){
                        echo "<div class='thumb'><a class='OBRA_".$x."' href='java script:void(0);' onclick=\"java script:exibeImagens(".$query_array['ID'].",".$x.");\"><img src='thumb.php?img=imagens/".$query_array['IMAGEM']."' /></a></div>";
                        $x++;
                    };
                    include('icl/pag_indice.php');
                ?>
            </div>
pg_cont.php
<?php
    $pagina = $_POST['pagina'];
    $quant_resul = $_POST['quant_result'];
    $paginas = $_POST['paginas'];

    $start = $pagina * $quant_resul;
    $pagina++;
    
    require_once("conexao.php");
    
    $result = mysql_query("SELECT * FROM tabela_teste LIMIT " . $start . " , " . $quant_resul);
    
    $x = 1;
    
    while($query_array = mysql_fetch_assoc($result)){
        echo "<div class='thumb'><a class='OBRA_".$x."' href='java script:void(0);' onclick=\"java script:exibeImagens(".$query_array['ID'].",".$x.");\"><img src='thumb.php?img=imagens/".$query_array['IMAGEM']."' /></a></div>";
        $x++;
    };
    
    include('pag_indice.php');
?>
pg_indice.php
<?php
    echo "<div id='PAGINACAO'>";

    if ($pagina > 1) {
    echo '&nbsp;<a href="java script:paginar(' . ($pagina - 2) . ',' . $paginas . ',' . $quant_resul . ')">̑ anterior</a>&nbsp;';
    echo '&nbsp;<a href="java script:paginar(0,' . $paginas . ',' . $quant_resul . ')">1</a>&nbsp;';
    } else {
        echo "<font color=#CCC>ant.</font>";
        echo "&nbsp;<span class='pgoff'>1</span>&nbsp;";
    }

    for ($i = $pagina; $i <= ($pagina + 1); $i++) {
        if (($i - 1) == ($pagina - 1) and ($i - 1) != 1 and ($i != 1)) {
            echo '...&nbsp;<a href="java script:paginar(' . ($i - 2) . ',' . $paginas . ',' . $quant_resul . ')">' . ($i - 1) . '</a>&nbsp;';
        }
        if ($i == 1 or $i == $paginas or $i == $paginas) {
            echo"";
        }
        elseif ($pagina == $i) {
            echo "&nbsp;<span class='pgoff'>$i</span>&nbsp;";
        }
        elseif ($i < $pagina) {
            echo '&nbsp;<a href="java script:paginar(' . $i - 1 . ',' . $paginas . ',' . $quant_resul . ')">' . $i . '</a>&nbsp;';
        }
        if (($i + 1) == ($pagina + 1) and ($i + 1) != $paginas and $i != $paginas) {
            echo '&nbsp;<a href="java script:paginar(' . ($i) . ',' . $paginas . ',' . $quant_resul . ')">' . ($i + 1) . '</a>&nbsp;...';
        }
    }
    if ($paginas == 1) {
        echo "";
        echo "<font  color=#CCC>‣</font>";
    }
    elseif ($pagina < $paginas) {

        echo '&nbsp;<a href="java script:paginar(' . ($paginas - 1) . ',' . $paginas . ',' . $quant_resul . ')">' . $paginas . '</a>';
        echo '&nbsp;<a href="java script:paginar(' . ($pagina) . ',' . $paginas . ',' . $quant_resul . ')"><b>‣</b></a>&nbsp;';
    }
    else {
        echo "&nbsp;<span class='pgoff'>" . $paginas . "</span>&nbsp;";
        echo "<font  color=#CCC>pr&oacute;ximo &raquo;</font>";
    }
    echo "</div>";
?>
thumb_ajax.php
<?php
    require_once("icl/conexao.php");

    $id_pasta = isset($_GET['PASTA'])?$_GET['PASTA']:0;
    
    $query_str = "SELECT * FROM tabela_teste WHERE ID_PASTA = ".$id_pasta;
    $query = mysql_query($query_str);
    
    $query_str_pasta = "SELECT * FROM tabela_teste WHERE ID = ".$id_pasta;
    $query_pasta = mysql_query($query_str_pasta);
    
    if($query_array_pasta = mysql_fetch_array($query_pasta)){ 
        $cidade = $query_array_pasta['CIDADE'];
        $status = $query_array_pasta['STATUS'];
    }

    $url_valor = "";

    while($query_array = mysql_fetch_assoc($query)){
        $url_valor .= "{href : 'http://localhost/imagens/PASTA_".$id_pasta."/".$query_array['IMAGEM']."',
                        title: '".$cidade."/".$estado."'},";
    }

    echo "[".$url_valor."]";
?>

o resultado:

20u1g5e.jpg

mas ae que acontece como pode ver na imagem, o botão "proximo" não ta abilitando e quando clico na pagina dois, ele me retorna registros a "mais" pois só tenho 10 registros... tem 8 na primeira era só pra retorna 2 registros...

e ainda ele ta aparecendo a pagina 3... 4 conforme eu vo clicando ele vai aparecendo sem ter mais registro.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...