Jump to content


Photo

Mostrar Imagens Em Colunas


  • Faça o login para participar
4 replies to this topic

#1 karper1.2

karper1.2

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino
  • Localidade:Serro
  • Interesses:PHP e áreas de Web

Posted 09/04/2011, 14:32

Pessoal, estou acompanhando um curso de dreamweaver em video aulas, e garrei na hora de mostrar as imagens cadastradas no banco em mais colunas.
Por exemplo: Eu tô fazendo um catálogo de produtos, porém só consigo mostrar as imagens em uma única coluna, linha sobre linha. Como fazer para mostra em duas ou mais colunas?
<?php
$currentPage = $HTTP_SERVER_VARS["PHP_SELF"];

$maxRows_Recordset1 = 2;
$pageNum_Recordset1 = 0;
if (isset($HTTP_GET_VARS['pageNum_Recordset1'])) {
$pageNum_Recordset1 = $HTTP_GET_VARS['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;

$colname_Recordset1 = "0";
if (isset($HTTP_GET_VARS['cod_cat'])) {
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['cod_cat'] : addslashes($HTTP_GET_VARS['cod_cat']);
}
mysql_select_db($database_conexao, $conexao);
$query_Recordset1 = sprintf("SELECT * FROM produtos WHERE cod_cat = %s", $colname_Recordset1);
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $conexao) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);

if (isset($HTTP_GET_VARS['totalRows_Recordset1'])) {
$totalRows_Recordset1 = $HTTP_GET_VARS['totalRows_Recordset1'];
} else {
$all_Recordset1 = mysql_query($query_Recordset1);
$totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;

$queryString_Recordset1 = "";
if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
$params = explode("&", $HTTP_SERVER_VARS['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Recordset1") == false &&
stristr($param, "totalRows_Recordset1") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Recordset1 = "&" . implode("&", $newParams);
}
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
<div align="center">
<?php if ($totalRows_Recordset1 == 0) { // Show if recordset empty ?>
No momento n&atilde;o dispomos de nenhum produto para essa categoria.
<?php } // Show if recordset empty ?>
<br>
<?php do { ?>
<?php if ($totalRows_Recordset1 > 0) { // Show if recordset not empty ?>
<table width="300" border="0" align="center">
<tr>
<td rowspan="0">
<div align="center"><div align="center"><strong><?php echo $row_Recordset1['nome_prod']; ?></strong></div><img src="<?php echo $row_Recordset1['fot_peq'];?>" width="150" height=""></div></td>
</tr>
<tr>
<td><div align="center"><?php echo $row_Recordset1['descricao']; ?></div></td>
</tr>
<tr>
<td><div align="center"><a href="javascript:;" onClick="MM_openBrWindow('fotos.php?cod_prod=<?php echo $row_Recordset1['cod_prod']; ?>','','scrollbars=yes,width=350,height=400,left=1o,top=10')">Mais
fotos</a></div></td>
<td rowspan="2"><div align="center">R$<?php echo $row_Recordset1['valor']; ?>,00</div></td>
</tr>
<tr>
<td><center>


<FORM METHOD=POST ACTION="comprar.php">
<INPUT TYPE="hidden" name="session_id" value="<?php echo $_SESSION["id"]; ?>">
<INPUT TYPE="hidden" name="valor" value="<?php echo $row_Recordset1['valor']; ?>">
<INPUT TYPE="hidden" name="nome_prod" value="<?php echo $row_Recordset1['nome_prod']; ?>">
Quantidade
<select name="quantidade" id="quantidade">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
<INPUT TYPE="submit" value="Comprar">
</FORM>


</center></td>
</tr>
</table>


Desde já agradeço quem puder ajudar...

#2 Rodrigo Thiago

Rodrigo Thiago

    Tava sumido mas voltei........

  • Usuários
  • 208 posts
  • Sexo:Não informado
  • Localidade:são josé dos campos - sp
  • Interesses:Musica, coldfusion, mulheres (nao necessariamente nesta ordem)

Posted 12/04/2011, 11:17

Olá karper1.2, blz?

Assim sem querer ser chato, mas o seu "problema" é mais com php que com alguma funcao do dreamweaver, posta na secao PHP que tenho certeza que vc tera uma resposta mais rapida.

abracos
Rodrigo Thiago
Web Developer ASP/COLDFUSION/MYSQL/SQL-SERVER
rodrigo.thiago@gmail.com
white monkeys - Mande sua proposta / solicite seu orçamento

#3 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 27/04/2011, 12:18

ola karper1.2 geralmente para vc ter uma resposta mais rapida coloca na sua categoria correta este ai tem uma categoria Dreamwever Mais como tbm é php vc pode colocar na categoria de PHP aqui no forum...

RECOMENDAÇÃO MINHA: APRENDA O PHP PURO SEM USAR IDE QUE VC TERA MAIS FUTURO
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#4 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 27/04/2011, 13:02

Bem... já passei por essa situação várias vezes.

Quando você quer imprimir dados assim dentro de uma tabela um embaixo do outro... você precisa usar um pouco de matemática.
E como o Diego disse... aprenda PHP puro... sem a ajuda do dreamweaver... que assim você irá aprender e ver o que está acontecendo no seu código.

Primeiro para criar isso você precisa definir quantas imagens irão aparecer em cada linha.

Vamos supor que vc quer que apareçam 4 imagens por linha.

Então crie uma variável com esse quantidade e um contador para controlar a impressão das trs:
$qtd_imagens_linha  = 4;
$cont = 0;

Depois você precisa verificar se você vai imprimir um <tr> ou um </tr>.

Você vai percorrer o array das imagens que vc tem:

for( $i = 0; $i < count( $arrImagens ); $i++ ){

   //inicia uma linha
   if( $cont == 0 )
        echo "<tr>";

   
   echo "<td> imprime a imagem </td>";

   if( $cont == $qtd_imagens_linha ){
       echo "</tr>";
       $cont = 0;
   }

   $cont++;
}
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#5 karper1.2

karper1.2

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino
  • Localidade:Serro
  • Interesses:PHP e áreas de Web

Posted 27/05/2011, 18:38

Olá, primeiramente gostaria de agradecer a todos pelas dicas.
Seguindo o conselho de vocês, adquiri um curso de PHP e MYSQL, já vi e revi umas 500 vezes, ele é bem prático e bem explicativo e resolveu muita coisa e aprendi muito até agora, valeu mesmo a dica.

André, eu fiz da seguinte forma:
Fiz um Select
$sql = "SELECT * FROM tbl_produto where status = '1'  ORDER BY RAND() LIMIT 0,6";
 GeraColunas(3, $sql)

Depois fiz a função para gerar as colunas e Personalizei.

function GeraColunas($pNumColunas, $pQuery) {
$resultado = mysql_query($pQuery);
echo ("<table width='0' border='0'>\n");
 for($i = 0; $i <= mysql_num_rows($resultado); ++$i) {
 
 for ($intCont = 0; $intCont < $pNumColunas; $intCont++) {
  $linha = mysql_fetch_array($resultado);
  if ($i > $linha) {
   if ( $intCont < $pNumColunas-1) echo "</tr>\n";
   break;
  }

// DECLAREI O QUE EU QUERIA MOSTRAR AKI (VARIÁVEIS)

  if ( $intCont == 0 ) echo "<tr>\n";

echo "";

MOSTREI AKI O CONTEÚDO FORMATADO

  echo "</td>";

  if ( $intCont == $pNumColunas-1 ) {
   echo "</tr>\n";
  } else { $i++; }
 }
 
 }
echo ('</table>');
}

Tá funcionando perfeitamente. Tô com alguma dificuldade para fazer colocar uma forma de clicar na imagem e mostrar uma janela com os detalhes associados a mesma, mas já tô pesquisando aki.

Mais uma vez obrigado a todos.
RESOLVIDO




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq