Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Biel.

Exibir na ordem ASC o item que foi selecionado

Recommended Posts

Exibir na ordem ASC a linha da tab_aprendiz que foi selecionada

Boa noite a todos. Direto ao ponto. Pessoal o codigo abaixo quando coloco para exibir na tela aparece assim

 

EX 1
id  letras  valor
40   m      100,00
48   p      500,00
49   m      340,00
51   c      509,00
52   t      215,00
55   c      427,00
56   v      391,00
57   m      317,00

...

<?php require_once('Connections/config.php'); ?>

<form name="form" id="form" method="post">

Ordenar por:
<select name="form"  onChange="this.form.submit()">
    <option value="" ></option>
    <option value="letras">de A a Z</option>
    <option value="valor">do menor para o maior </option>
</select>

</form>

<table border="1" cellpadding="2" cellspacing="2">

  <tr>
    <td>id</td>
    <td>letras</td>
    <td>valor</td>
  </tr>
  
<?php
$tete = array('id' , 'letras' , 'valor' );
foreach($tete as $exibe) {

$sql = mysql_query("SELECT * FROM tab_aprendiz ORDER BY $exibe ASC");

while($linha = mysql_fetch_array($sql)){
	
$id     = $linha['id'];
$letras = $linha['letras'];
$valor  = $linha['valor'];
?>
    <tr>
      <td><?php echo $id; ?></td>
      <td><?php echo $letras; ?></td>
      <td><?php echo $valor; ?></td>
    </tr>
    
    <?php 
	}
	} 
	?>  
</table>

...

<pre>

Gostaria que ao selecionar o item letras por exemplo no option value exibisse na tela na ordem ASC assim 

c	
c 	
m	
m	
m	
p   
t   
v 	
    
ou se eu selecionar o item valor no option value exibisse na tela na ordem ASC assim    
    
100
215
317
340
391
427
500
509

NOTA: observe pessoal que na linha letras e linha valor os dados não estão na ordem ASC
</pre>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que não entendi bem a forma que está tentando fazer isso. Se a intenção é ordenar sempre por uma única coluna, passe o ASC nessa coluna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criquio, obrigado por postar. A ideia é ordenar os valores de acordo com o item que foi selecionado. Minha tabela está assim:

id  letras  valor
40   m      100,00
48   p      500,00
49   m      340,00
51   c      509,00
52   t      215,00
55   c      427,00
56   v      391,00
57   m      317,00

ao selecionar o item letras no <option value="letras">de A a Z</option> gostaria que ficasse assim

id  letras  valor
40   c      100,00
48   c      500,00
49   m      340,00
51   m      509,00
52   m      215,00
55   p      427,00
56   t      391,00
57   v      317,00

ou se eu selecionar o item valor no <option value="valor">do menor para o maior </option> gostaria que ficasse assim

id  letras  valor
40   m      100,00
48   p      215,00
49   m      317,00
51   c      340,00
52   t      391,00
55   c      427,00
56   v      500,00
57   m      509,00

Compartilhar este post


Link para o post
Compartilhar em outros sites

E como o Criquio disse, so ordenar, passe o parâmetro para a query

 

'order' => array(
  'Produto.parametro' => 'ASC'
)
Parâmetro = letras || valor

Dinâmico claro :coolio:

Ps.: Pra que este foreach?

$tete = array('id' , 'letras' , 'valor' );
foreach($tete as $exibe) {

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dica: você pode ter um select com os nomes das colunas como values e outro com as opções ASC e DESC como values e passar esses valores na montagem do filtro. Vamos supor que o nome dos selects sejam nome_coluna e ordem:

$filtro = "SELECT * FROM nome_tabela ORDER BY " . $_POST["nome_coluna"] . " " . $_POST["ordem"] . "";

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.