Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

midnight2k

Ordenar tabela (php)

Mensagens Recomendadas

midnight2k    0
midnight2k

Boas, gostava de saber se é possivel numa tabela poder ordenar os dados pelos campos pretendidos, ou seja ou clicar no campo pretendido ordenar todos os dados dentro da tabela por ordem alfabética ou numerica

deixo aqui o codigo da tabela para ser mais preciso

<table border="1"> 
<tr><td> Matricula: <td> Marca: <td> Modelo: <td> Cor:        <td> Combustivel: <td> Preço de aluguer: </tr> 
<?php
for ($i=0; $i <$nregistos; $i++)  {
   $registo = mysql_fetch_assoc($result);
   echo '<tr>';
   echo '<td>'.$registo['matricula'].'</td>';
   echo '<td>'.$registo['marca'].'</td>';
   echo '<td>'.$registo['modelo'].'<td>';
   echo '<td>'.$registo['cor'].'<td>';
   echo '<td>'.$registo['combustivel'].'<td>';
   echo '<td>'.$registo['p_aluguer'].'<td>';
   echo '</tr>'; echo '</p>';
}
?>
</table>

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
marinheiro    0
marinheiro

basta que tenhas no th os nomes dos campos com links para a mesma página onde está mas com um case no inicio do php para fazer o order by correspondente...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Broken    0
Broken

[code]

<body>
<?php include 'principal.php'; ?>
<br />
<br />

<?
  $conexao=mysql_connect("localhost","root");
  mysql_select_db("chardware", $conexao);
?>
<br />
<table class="estrutura">
  <TR align="center">
    <TD width="33" height="23"><span class="style3"><strong><a href="estrutura.php?ordem=id">ID</a></strong></span></td>
    <TD width="146" height="23"><span class="style3"><strong><a href="estrutura.php?ordem=caracteristicas">Caracteristicas</a></strong></span></td>
    <TD width="80" height="23"><span class="style3"><strong><a href="estrutura.php?ordem=tipo">Tipo</a></strong></span></td>
    <TD width="65" height="23"><span class="style3"><strong><a href="estrutura.php?ordem=quantidade">Quantidade</a></strong></span></td>
    <TD width="86" height="23"><span class="style3"><strong><a href="estrutura.php?ordem=data">Data</a></strong></span></td>
    <TD width="106" height="23"><span class="style3"><strong><a href="estrutura.php?ordem=estado">Estado</a></strong></span></td>
    <TD width="76" height="23"><span class="style3"><strong><a href="estrutura.php?ordem=local">Local</a></strong></span></td>
    <TD width="76" height="23"><span class="style3"><strong><a href="estrutura.php?ordem=garantia">Garantia</a></strong></span></td>
<TD width="169" height="23"><span><strong><a href="estrutura.php?ordem=fornecedor">Fornecedor</a></strong></span></TD>
    <TD height="23" colspan="2"><span class="style3"><strong>Opções</strong></span></td>
  </TR>
  <?
  $query = "SELECT id,caracteristicas,tipo,quantidade,data,estado,local,garantia,fornecedor FROM hardware";
  // Ordenar?
  if (isset ($_GET['ordem']) ) $query .= " ORDER BY " . mysql_real_escape_string($_GET['ordem']);
  $resultado = mysql_query($query,$conexao);
  if ($resultado) 
  	{
  	while ($linha = mysql_fetch_array($resultado)) {
?>
  <TR align="center" valign="middle">
    <TD><? echo $linha['id']?></td>
    <Td><? echo $linha['caracteristicas']?></td>
    <TD><? echo $linha['tipo']?></td>
    <Td><? echo $linha['quantidade']?></Td>
    <TD><? echo $linha['data']?></Td>
    <TD><? echo $linha['estado']?></Td>
    <TD><? echo $linha['local']?></Td>
    <TD><? echo $linha['garantia']?></Td>
    <TD><? echo $linha['fornecedor']?></Td>
    <TD width="60"><form name="form1" method="post" action="alter1.php">
        <input name="id" type="hidden"  value="<? echo $linha['id']?>">
        <input name="caracteristicas" type="hidden"  value="<? echo $linha['caracteristicas']?>">
        <input name="tipo" type="hidden"  value="<? echo $linha['tipo']?>">
        <input name="quantidade" type="hidden"  value="<? echo $linha['quantidade']?>">
        <input name="data" type="hidden"  value="<? echo $linha['data']?>">
        <input name="estado" type="hidden"  value="<? echo $linha['estado']?>">
        <input name="local" type="hidden"  value="<? echo $linha['local']?>">
        <input name="garantia" type="hidden"  value="<? echo $linha['garantia']?>">
        <input name="fornecedor" type="hidden"  value="<? echo $linha['fornecedor']?>">
        <input  type="submit"  value="Editar">
      </form></TD>
    <TD width="60"><form name="form1" method="post" action="confirm.php">
        <input name="id" type="hidden"  value="<? echo $linha['id']?>">
        <input  type="submit"  value="Apagar">
      </form></TD>
  </TR>
  <?
		}
	}
	?>
</table>


</body>


este foi o codigo que usei.

eu decidi colocar o codigo por inteiro caso queiras aproveitar a tabela.

como e obvio tens de colocar de acordo com o teu codigo[/code]

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
QuickFire    0
QuickFire

é simples, apesar de ja ter sido dito é algo do género:

mysql_query("SELECT <*> from <table> ORDER by <coluna> <ASC|DESC>");

ASC = Crescente = Do menor para o maior;

DESC = Decrescente = Do maior para o menor;

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade