• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

midnight2k

Ordenar tabela (php)

5 mensagens neste tópico

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>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

[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]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é 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;

0

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