creo a no es sido lu suficiente claro con el planteamiento de la pregunta
tengo una tabla con tres campos
CREATE TABLE `categoria` (
`id_categoria` int(3) NOT NULL auto_increment,
`categoria` varchar(255) default NULL,
`orden` tinyint(2) NOT NULL default '0',
PRIMARY KEY (`id_categoria`)
) TYPE=MyISAM AUTO_INCREMENT=0;
y quiero ordenarlos mediante el campo orden en forma DESC
Código PHP:
$query = " SELECT * FROM categoria ORDER BY orden DESC";
$result = mysql_query($query);
echo "Orden Categorias";
while($rows = mysql_fetch_array($result)){
echo "<a href=\"?action=bajar\">" .$rows["orden"]. "<a> <a href=\"?action=subir\">" .$rows["orden"]. "<a> " . $rows["categoria"]."<br>";
}
//aqui aria el update al campo orden dependiendo de la action
if($action == "bajar"){
//esto seria en caso de la categoria seleccionada le reste uno, pero como hago con las demas categorias para restarle o sumarles
$query = "UPDATE categoria SET orden = orden - 1 WHERE id_categoria = '$id'";
$result = mysql_query($query);
}
if($acton == "subir"){
$query = "UPDATE categoria SET orden = orden + 1 WHERE id_categoria = '$id'";
$result = mysql_query($query);
}
y el resultado de la consulta seria:
s = subir y esto va ser una flecha hacia arriba
b = bajar y esto va ser una fecha hacia abajo
s argentina
b s brasil
b s venezuela
b s españa
b s EE UU
b s francia
b alemania
esta seria mi logica
no se si alguin tendra otro planteamiento, ojala que sí
y las categorias no necesariamente van a ser paises, solo las tome como ejem
ojala que me ayan entendido...