OK. Según el código que posteaste el archivo quedaría así (todavía no me has dado el nombre, asi que lo llamare archivo.php). Además te he resaltado los cambios.
Código PHP:
Ver original<?php
// esta parte la he añadido yo
if(empty($_GET['save'])) { ?>
<script type="text/javascript">
$(document).ready(function(){
$(function() {
$("#contentLeft ul").sortable({ axis: "y",
opacity: 1, cursor: "move", update: function() {
var order = $(this).sortable("serialize") + '&action=updateRecordsListings';
$.post("archivo.php?guardar=1", order); // ATENCIÓN AL CAMBIO. TE LO EXPLICO LUEGO
}});
});
});
</script>
<div id="contentLeft">
<ul>
<?php
$query = "SELECT * FROM smilie ORDER BY displayorder ASC";
{
?>
<li id="recordsArray_<?php echo $row['smilieid']; ?>"><img src= "<?php echo $row['smiliepath']?>" height="18"><?php echo " " . $row['title']; ?> </li>
<?php } ?>
</ul>
</div>
<?php
// esta parte es mia
} // fin del primer archivo
else { // comienza el segundo
?>
<?php
include('global.php');
$updateRecordsArray = $_POST['recordsArray'];
if ($action == "updateRecordsListings"){
$listingCounter = 1;
foreach ($updateRecordsArray as $recordIDValue) {
$query = "UPDATE smilie SET displayorder = " . $listingCounter . " WHERE smilieid = " . $recordIDValue;
$listingCounter = $listingCounter + 1;
}
}
?>
<?php
// esta parte es mia
}
Ahora, cuando pidan la página que yo he llamado archivo.php, la variable $_GEt['save'] estará vacía, if(empty($_GET['save'])) será verdadero y ejecutará todo lo que hay en ese bloque de código (en este caso enviará el script o todo lo que queramos).
Cuando el script quiere guardar llama a archivo.php?save=1, por lo cual if(empty(_$GET['save'])) será falso y pasará a la sentencia else de más abajo ejecutando el código (en este caso ese pequeñito código que usas para guardar las cosas).
Más generalizado usamos el ?save=1 para diferenciar entre una página y la otra. Podrías usar por ejemplo cualquier otro parámetro, incluso por POST. Ej.: el script llama a archivo.php?otra_variable=1 y tienes que sustituit empty($_GET['save']) por empty($_GET['otra_variable']) y punto.
empty(...) es una función que nos dice si existe y tiene un valor la variable que le digamos. Yo lo que le pregunto es si existe $_GET['save'], es decir, si han llamado a la página con ?save=1 ; el caso es que a la página le han pasado ese parámetro, $_GET['parametro'] existe y tu puedes diferenciar entre una y otra.
No se si ahora vas mejor o peor, pero si sigues teniendo duda aquí me tienes, puedes preguntar cuantas veces quieras =)