Ir para conteúdo

POWERED BY:

Arquivado

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

baritono17

Problema com ORDER BY

Recommended Posts

Estou com um problema: Tenho um campo na minha tabela de produtos chamado "ordem" e lá é guardado um número para cada posição. Estou utilizando jquery para ordenar os dados (Qual produto vem antes de qual, clicando e arrastando).

 

O problema é que quando eu arrasto, o php salva o novo número da posição no campo "ordem" tudo certinho, o problema é que toda a lista é atualizada para a ordem deste último que foi arrastado, independente de que posição estava.

 

É algo no ORDER BY que não estou fazendo correto? Estou ordenando como ORDER BY ordem (independente de ser ASC ou DESC): Código Abaixo

 

<div id="contentLeft">
<ul>
<?php
$query  = "SELECT produto.*, categoria.titulo AS cat FROM produto INNER JOIN categoria ON produto.categoria_idcategoria = categoria.idcategoria WHERE produto.categoria_idcategoria = '1' ORDER BY ordem";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
?>

<li id="recordsArray_<?php echo $row['idproduto']; ?>"><?php echo $row['idproduto'] . ". " . $row['nome']; ?></li>
<?php } ?>
</ul>
</div>

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, é essa aqui, ele atualiza certinho... mas dá uma olhada ai por favor!

<?php 
require("db.php");

$action 				= mysql_real_escape_string($_POST['action']); 
$updateRecordsArray 	= $_POST['recordsArray'];

if ($action == "updateRecordsListings"){
	
	$listingCounter = 1;
	foreach ($updateRecordsArray as $recordIDValue) {
		
		$query = "UPDATE produto SET ordem = " . $listingCounter . " WHERE idproduto = " . $recordIDValue;
		mysql_query($query) or die('Error, insert query failed');
		$listingCounter = $listingCounter + 1;	
	}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu update está gravando certo néh?? seu problema está somente na ordenação?

 

vc fez seu order by desta forma

 

ORDER BY ordem

 

tenta indicar a tabela antes

ORDER BY produto.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.