Riordinare colonna secondo numeri crescenti

anthares

Nuovo Utente
8 Gen 2012
26
0
0
Ciao a tutti, vorrei fare una modifica un pò particolare ad una colonna del mio database mysql e non sono riuscito a trovare possibili soluzioni..

Ho una colonna con valori numerici che vanno da 0 a infinito... purtroppo l'elenco non è ordinato, mancano alcuni valori numerici.. Nel caso in esame (vedi immagine ordinamento.JPG ) manca per esempio i numeri 1 e 3. Vorrei poter ordinare la colonna, senza perdere l'ordine originario.

Mi spiego meglio con un esempio:

[table="width: 500, class: grid"]
[tr]
[td]pinco[/td]
[td]0[/td]
[/tr]
[tr]
[td]pallino[/td]
[td]2[/td]
[/tr]
[tr]
[td]caio[/td]
[td]5[/td]
[/tr]
[tr]
[td]sempronio[/td]
[td]6[/td]
[/tr]
[/table]

Mancano i numeri 1, 3 e 4.. vorrei che la tabella diventasse

[table="width: 500, class: grid"]
[tr]
[td]pinco[/td]
[td]0[/td]
[/tr]
[tr]
[td]pallino[/td]
[td]1[/td]
[/tr]
[tr]
[td]caio[/td]
[td]2[/td]
[/tr]
[tr]
[td]sempronio[/td]
[td]3[/td]
[/tr]
[/table]

Lasciando quindi inalterato l'ordine pinco-pallino-caio-sempronio.

Spero che qualcuno di voi abbia un'idea su come farlo :)
 
ciao
scusa ma non c'è l'id (autoincrement primary key), se si potresti provare così
PHP:
<?php
//dati connessione
$q_1=mysql_query("SELECT * FROM tabella ORDER BY user_prior");
$nuovo=0;
while($riga=mysql_fetch_array($q_1)){
	$q_2=mysql_query("UPDATE tabella SET user_prior = '$nuovo' WHERE id='".$riga['id']."'");
	/*
	oppure se username è unico e non hai l'id (male)
	$q_2=wysql_query("UPDATE tabella SET user_prior = '$nuovo' WHERE id='".$riga['username']."'");
	*/
	$nuovo++;
}
//....
?>
se non hai l'id e username non è unico è una rogna
 
ciao
scusa ma non c'è l'id (autoincrement primary key), se si potresti provare così
PHP:
<?php
//dati connessione
$q_1=mysql_query("SELECT * FROM tabella ORDER BY user_prior");
$nuovo=0;
while($riga=mysql_fetch_array($q_1)){
	$q_2=mysql_query("UPDATE tabella SET user_prior = '$nuovo' WHERE id='".$riga['id']."'");
	/*
	oppure se username è unico e non hai l'id (male)
	$q_2=wysql_query("UPDATE tabella SET user_prior = '$nuovo' WHERE id='".$riga['username']."'");
	*/
	$nuovo++;
}
//....
?>
se non hai l'id e username non è unico è una rogna


fortunatamente ho sia username e che user_id non unici.. ho usato l'user_id e funziona. aaah prima o poi questo ciclo while me lo devo imparare :D una cosa, la seconda riga $q_2, quella messa a commento, ha un piccolo errore.. invece di WHERE id, va WHERE username. grazie mille borgo, come sempre mi salvi! posso offrirti una "birra" via postpay?
 

Discussioni simili