Ti faccio un esempio:
Nella tua tabella inserisci un nuovo campo chiamato ORD (qui dove salverai la posizione del tuo record da visualizzare)
<form name="ordina" action="ordina.php" method="post">
Codice PHP:
<?php
// connessione al DB
$sql = "select * from tua tabella order by id";
$result = mysql_db_query( $database, $sql, $db) or die(mysql_error());
$nr=mysql_num_rows($result);
echo "<table width=100%><tr>";
echo "<td>primo campo</td><td>posizione record</td><td>terzo campo</td></tr>";
while($riga=mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>".$riga["primo campo"]."</td>";
echo "<td>";
?>
<select name="ord[<?= $riga['id']; ?>]">
<?php
for ($k=1; $k<$nr+1 ; $k++)
{
echo "<option value=\"$k\"";
if($k==$riga['ord']) echo "selected";
echo ">$k</option>\n";
}
?>
</select>
<?php
echo "</td>";
echo "<td>".$riga["terzo campo"].</td>";
echo "</tr>";
}
echo "</table>";
?>
<input type="submit" name="invia" value="invia">
</form>
In questo modo per ogni riga del tuo record hai un menu a tendina dove inserirai la posizione del tuo record.
Il form lo invii al file: ordina.php
Codice PHP:
<?php
// connessione al DB
if(isset($_POST['ord'])){
while(list($key,$val)=each($_POST['ord'])){
$sql = " UPDATE TABELLA set ord = $val where id = $key";
$ordina = mysql_db_query( $nome_db, $sql, $db) or die(mysql_error());
}
}
echo "ordine aggiornato";
?>
Io utilizzo questo metodo per assegnare la posizione ai record.
POI la query che li visualizza la farai:
..... order by ORD DESC
Naturalmente questa e`una pagina riservata ADMIN
Spero di essermi spiegato bene, se hai problemi posta qui.
Ciao