Jump to content


Photo

Banco De Dados - Tabela


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

#1 Pennywise

Pennywise

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 29/06/2004, 01:55

Tenho uma galeria de fotos e usei o seguinte comando pra selecionar os dados da tabela: SELECT * FROM galeria order by id DESC LIMIT 0,17
o problema é q este comando seleciona os 17 ultimos em ordem decrescente.
Gostaria de selecionar os 17 primeiros elementos em ordem DECRESCENTE para finalmente exibi-los em uma tabela. Como posso fazer isso?

Edição feita por: Pennywise, 29/06/2004, 01:56.


#2 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 29/06/2004, 08:39

Bom Dia,
Pode-se fazer a busca assim:
SELECT * FROM galeria order by id LIMIT 0, 17

Os resultados você armazena em um array, e depois utilizar o comando array_reverse() :

$arrayrevertida = array_reverse($resultados) ;

[]'s
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#3 Pennywise

Pennywise

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 29/06/2004, 16:45

poxa tentei isso mas nao funcionou. vou colocar o codigo aki.
o q kero fazer seria assim: na minha galeria de fotos tem muitas festas cadastradas no banco de dados. acontece q na galeria de fotos ela exibe uma foto pekena da festa com os dados desta do lado. gostaria q a galeria exibisse os ultimos 8 eventos cadastrados no BD com a fotin d destake e as info do lado e as outras festas cadastradas apareceriam embaixo mas assim: NOME - DATA LOCAL
Conforme eu fosse cadastrando mais festas no banco as primeiras festas exibidas junto com a miniatura iria automaticamente passar para baixo e apareceria no formato NOME DATA LOCAL
De uma olhada.. ela eh assim Galeria Atual
e esse eh um script estou fazendo pra no final juntar os doisGaleria 2
o codigo da galeria atual:
<?
include("path.php");
$sql = mysql_query("SELECT * FROM galeria order by id desc"); 
?>
<? // Agora exiba o código com a configuração de sua tabela - o cabeçalho dela. ?>

<table border="0" cellpadding="0" cellspacing="0">
 <?
// Agora vamos montar o código. Pegue o valor total de resultados: 
$total = mysql_num_rows($sql); 
// Defina o número de colunas que você deseja exibir: 
$colunas = "2"; 
// Agora vamos ao "truque": 
if ($total>0) { 
for ($i = 0; $i < $total; $i++) { 
if (($i%$colunas)==0) { 
?>
 <TR>
   <TD height="20" colspan="4"> 
     <HR align="center" width="100%" size="1" noshade color="<? echo $cortexto?>"> </TD></tr>
 <tr> 
   <? }?>
<?
$dados= mysql_fetch_array($sql);
?>
    <td width="280" align="left" valign="top"><font color="<? echo $cortexto?>" size="<? echo $tfonte?>" face="<? echo $fonte?>"> 
      <? if($dados[foto01] != ""){?>
      <a href="javascript:AbreJanelaGaleria('janela.php?dir=galeria/<? echo "$dados[pasta]/&id=$dados[id]&evento=$dados[nome]&data=$dados[dia]/$dados[mes]/$dados[ano]&local=$dados[local]&id=$dados[id]";?>')"><img src="imagemdimindex.php?imagem=galeria/<? echo $dados['pasta']?>/<? echo $dados['foto01']?>" border="1" align="left"></a> 
      <? }?>
      <span style="text-transform: uppercase"><b><a href="javascript:AbreJanelaGaleria('janela.php?dir=galeria/<? echo "$dados[pasta]/&id=$dados[id]&evento=$dados[nome]&data=$dados[dia]/$dados[mes]/$dados[ano]&local=$dados[local]&id=$dados[id]";?>')"><? echo $dados['nome']?></a></b></span><BR>
     Data: <strong><? echo $dados['dia'],"/",$dados['mes'],"/",$dados[ano];?></strong><br>
       Local: <strong><? echo $dados['local']?></strong><br>
      <strong> 
      <?
$dir="galeria/$dados[pasta]";
$dir1=opendir($dir);
$cont=0;
while ($res=readdir($dir1) ){
$tipo=explode(".",$res);
if ($tipo[1]=="jpg" || $tipo[1]=="JPG"){
$cont=$cont+1;
}
}
print ($cont);
?>
      </strong>Fotos.</font></td>
<TD width="15"></TD>
  <? }}?>
  </TR>
</table>

e esse e o codigo q estou fazendo..

<?
$connection=mysql_connect("localhost", "noitada_root", "9787") //conecta
or die ("Não foi possível conectar ao servidor.");

$db = mysql_select_db("noitada_fotos", $connection) or die ("Não foi possivel conectar ao banco de dados.");  //conecta ao banco de dados
//seleciona a tabela
$sql = mysql_query("SELECT * FROM galeria order by id DESC LIMIT 0,17");
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">     A    {text-decoration: none}</style>
<style fprolloverstyle>A:hover {color: #FFFFFF; text-decoration: underline}</style>
</head>

<body text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<script language="JavaScript">
function AbreJanelaGaleria(URL) {
  var width = 625;
  var height = 471;
  var left = 50;
  var top = 10
  window.open(URL, 'ema3', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=no, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
}
function popup(url) {
  window.open(url,'popupImageWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')
}

function imprimi(url) {
  window.open(url,'popupImageWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')
}

function indica(url) {
  window.open(url,'popupImageWindow','width=300, height=150, top=12, left=15, scrollbars=no, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no')
}

function cores(url) {
  window.open(url,'popupImageWindow','width=225, height=169, top=10, left=10, scrollbars=no, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no')
}
</script>
<table border="0" cellpadding="0" cellspacing="0" bgcolor="#000017">
  <!--DWLayoutTable-->
  <?
// Agora vamos montar o código. Pegue o valor total de resultados: 
$total = mysql_num_rows($sql); 
// Defina o número de colunas que você deseja exibir: 
$colunas = "2"; 
// Agora vamos ao "truque": 
if ($total>0) { 
for ($i = 0; $i < $total; $i++) { 
if (($i%$colunas)==0) { 
?>
  <tr> 
    <td height="21" colspan="4"><font color="#FFFFFF" size="-1" face="Geneva, Arial, Helvetica, sans-serif"> 
        <HR align="center" width="100%" size="1" noshade>
        </font></td>
  </tr>
  <tr> 
    <? } ?>
    <?
$dados= mysql_fetch_array($sql);
?>
    <td width="241" height="36" valign="top"><div align="center"><font color="#FFFFFF" size="-2" face="Verdana, Arial, Helvetica, sans-serif"><a href="javascript:AbreJanelaGaleria('janela.php?dir=galeria/<? echo "$dados[pasta]/&id=$dados[id]&evento=$dados[nome]&data=$dados[dia]/$dados[mes]/$dados[ano]&local=$dados[local]&id=$dados[id]";?>')"><? echo $dados['nome']; ?> 
        - <? echo  $dados['dia'],"/",$dados['mes'],"/",$dados['ano'];?></a></font><BR>
        <font color="#FFFFFF" size="-2" face="Verdana, Arial, Helvetica, sans-serif">Local: 
        <? echo $dados['local'];?> <BR>
        </font></div></td>
    <td width="21">&nbsp;</td>
    <? }} ?>
  </tr>
</table>
</body>
</html>
deem uma olhada e me ajudem por favor :)

#4 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 29/06/2004, 17:32

Seu problema não tem nada de PHP. Seu problema é criar tabelas em HTML... ;)

<?php
  while ($rows = mysql_fetch_row ($consulta)) {

  // Exibe os dados na tabela
?>

<table>
<tr>
<td>
<?php echo $rows[0]; ?>
</td>
<td>
<?php echo $rows[1]; ?>
</td>
<td>
<?php echo $rows[2]; ?>
</td>
</tr>
</table>

<?php
  }
?>


Klaus Paiva
Conheça também: Taperás

#5 Pennywise

Pennywise

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 30/06/2004, 15:54

nao eh isso naum hehehe
tenho uma tabela com varios elementos... e gostaria de selecionar somente os 17 primeiros elementos da tabela e organiza-los em ordem decrescente. entendeu?
:)

#6 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 30/06/2004, 16:04

Rapaz... faça somente o SELECT, sem ORDER BY:

SELECT * FROM galeria LIMIT 0,16

O que você quer dizer com ordem decrescente? Como se ordena fotos em ordem decrescente? Hora? Data? Algo que tenha relação direta com ordem?
------
Mero mortal!

#7 Pennywise

Pennywise

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 30/06/2004, 21:01

c eu fizer desse jeito eu consigo selecionar as primeiras festas cadastradas.. mas nao consigo organiza-las na ordem decrescente ( tipo o ultima festa cadastrada aparece primeiro, a penulta festa cadastrada aparece em segundo e assim por diante.)
deste modo as festas aparecem na ordem em q eu fui cadastrando... ou seja, para a pessoa ver a ultima festa adicionada na galeria ela tem q descer a barra de rolagem todinha...

deixa eu explicar melhor hehehe
a minha galeria de fotos exibe todas as festas cadastradas na ordem decrescente. ex. a ultima festa cadastrada no banco de dados aparece na primeira linha da galeria com link para visualizar todas as fotos deste festa, a penultima festa cadastrada eh a q aparece na linha debaixo (segunda linha) e assim por diante.
Nessa galeria as festas cadastradas aparecem com uma miniatura e as informacoes (local, dia, nome) ao lado (VER GALERIA).
Como tenho muitas festas cadastradas no banco de dados, gostaria de exibir as ultimas 8 festas cadastradas, dessa forma (com uma miniatura e as info ao lado) e as outras festas cadastradas apareceriam logo embaixo mas soh com o texto (ex. FESTA SKOL - 25/05) para ocupar menos espaço na pagina.
O problema é q estou tendo dificuldados para organizar essas festas em ordem decresente ( a ultima festa cadastrada aparece primeiro, a penulta aparece em segundo e assim por diante.)

nao sei c estou sendo claro... deu pra entender?




1 user(s) are reading this topic

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

IPB Skin By Virteq