cara tergampang adalah dengan membiarkan user menentukan nomor urut sesuai dengan keinginan mereka, seperti:
<?php
if($_POST){
foreach($_POST['urut] as $id => $urut){
mysql_query("update nama_table set urut='$urut' where id_materi='$id'");
}
}
?>
<form action="" method="post">
<table>
<tr>
<td>Id</td>
<td>Materi</td>
<td>NO Urut</td>
</tr>
<tr>
<td>1</td>
<td>Ada1</td>
<td><inpu type="text" name="urut[1]" value="1"/>
</tr>
<tr>
<td>2</td>
<td>Ada2</td>
<td><inpu type="text" name="urut[2]" value="2"/>
</tr>
<tr>
<td>5</td>
<td>Ada4</td>
<td><inpu type="text" name="urut[5]" value="3"/>
</tr>
<tr>
<td>3</td>
<td>Ada3</td>
<td><inpu type="text" name="urut[3]" value="4"/>
</tr>
<tr>
<td>4</td>
<td>Ada4</td>
<td><inpu type="text" name="urut[4]" value="5"/>
</tr>
</table>
<input type="submit" value="update"/>
</form>