[PHP] numero progressivo su SELECT

solari77

Utente Attivo
6 Ott 2016
119
1
18
Ciao a tutti,avrei bisogno del vostro aiuto.
Tramite una SELECT DISTINCT ottengo un'elenco filtrato dei valori di una colonna.
Ora avrei la necessità di ordinare questi valori per poi elaborarli uno a uno nell'ordine tramite un ciclo while e poi con mysqli_fetch_array.
Esempio
ottengo la seguente colonna e dovrei assegnare le relative priorità
fdgfdg ---> 5
fdgdg ---> 4
vzzdfd ---> 2
ddfsdfsf ---> 1
gdgdfd ---> 3

Vorrei ottenere il tutto ordinato progressivamente
ddfsdfsf 1
vzzdfd 2
gdgdfd 3
fdgdg 4
fdgfdg 5

E' possibile farlo direttamente con la SELECT e poi con ORDER?
 

solari77

Utente Attivo
6 Ott 2016
119
1
18
Ciao innanzitutto grazie per la cortese risposta.
L'esempio è puramente indicativo.
Ho la colonna nomi che dopo la SELECT DISTINCT mi dà come risultato
Pippo
Luigi
Mario
Franco

Io devo assegnare un'ordine,che non è ne matematico ne logico,ne alfabetico.
Con la select posso ordinarli in ordine alfabetico,io però dovrei aggiungere una colonna a questi nomi con un numero progressivo.Vorrei farlo sulla tabella però andrei a scrivere lo stesso numero ripetuto tantissime volte e mi sembra poco corretto.Sbaglio? esiste un'altro metodo?
in questo esempio parla prorpio di quello di cui ho bisogno
https://informatizzati.org/informatica-generale/lista-di-record-da-query-con-numero-progressivo.html
però non sò come adattarlo al mio caso
 

marino51

Utente Attivo
28 Feb 2013
3.039
192
63
Lombardia
Io devo assegnare un'ordine,che non è ne matematico ne logico,ne alfabetico.
un computer applica sempre delle regole che sono modellate nel software
Vorrei farlo sulla tabella però andrei a scrivere lo stesso numero ripetuto tantissime volte e mi sembra poco corretto
mi sembra di capire che non sei in grado di definire come assegnare questa priorità neppure in modo "manuale"

se non è possibile definire una regola, mi sembra non si possa addivenire a nessuna soluzione,
prova a spiegare meglio che dati stai trattando (magari con un esempio concreto) e qual'è lo scopo per cui lo fai

fdgfdg ---> 5
fdgdg ---> 4
vzzdfd ---> 2
ddfsdfsf ---> 1
gdgdfd ---> 3

con che criterio associ la sequenza numerica agli elementi selezionati ?

forse che la regola è data dalla sequenza di inserimento nel db e quindi l' "id" (autoincrement) di fatto rappresenta la sequenza stessa ?
 
Ultima modifica:
  • Like
Reactions: solari77

solari77

Utente Attivo
6 Ott 2016
119
1
18
Ciao effettivamente ho fatto un po' di confusione.
Io ho una tabella con dei nomi ed altri dati.
Devo visualizzarli a video con una priorità decisa arbitrariamente da me(capisco che è strano ).
A questo punto però credo che inseriro' nella tabella un campo "priorità" .Parlo di una select distinct che mi restituisce circa 30 nominativi(in totale saranno 400),quindi non credo di appesantire troppo il DB,almeno spero.
Però data la particolaristici della mia richiesta non credo ci sia altro da fare.
Grazie comunque
 

marino51

Utente Attivo
28 Feb 2013
3.039
192
63
Lombardia
A questo punto però credo che inseriro' nella tabella un campo "priorità"
capita di avere situazioni dove l'utente deve inserire una priorità/sequenza perché non è ricavabile da nessuna delle informazioni presenti, quindi ...
Cattura.PNG
 

solari77

Utente Attivo
6 Ott 2016
119
1
18
Ciao e grazie ancora per le cortesi risposte.
Non capisco quello che mi hai indicato...il "sequenza di stampa".
Dove lo trovo?Cos'è esattamente?
Grazie
 

marino51

Utente Attivo
28 Feb 2013
3.039
192
63
Lombardia
non è nulla di particolare, solo sottolineare che non essendoci regole, rimane solo l'attribuzione manuale (sequenza/priorità/posizione) ed ho ripreso un frammento di un'applicazione reale
 
  • Like
Reactions: solari77

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
per divertimento ho provato, considerando di avere una tabella del tipo:
Codice:
id int(6) autoincrement primarykey
nome varchar (50)
posizione int(6) default 0
]al primo inserimento di un utente
PHP:
//connessione
$nome=$_POST['nome'];
$query=mysqli_query($conn,"SELECT max(posizione) as ultimo FROM tabella");//leggo la posizione massima registrata
$r=mysqli_fetch_assoc($query);
$pos=(int)($r['ultimo']+1);
$query=mysqli_query($conn,"INSERT tabella(nome,posizione) VALUES('$nome',$pos)");
//l'ultimo utente inserito viene inserito come ultima posizione
poi per cambiare posizione ad un utente
form per cambio:
PHP:
//connessione
$query=mysqli_query($conn,"SELECT max(posizione) as ultimo FROM tabella");//oppure da precedente
$r=mysqli_fetch_assoc($query);
$pos=(int)($r['ultimo']);
$query=mysqli_query($conn,"SELECT * FROM tabella ORDER BY nome");// o order by posizione, nome
echo "<form....>";
while($riga=mysqli_fetch_assoc($query)){
    $id=$riga['id'];
    $nome=$riga['nome'];
    $posto=$riga['posizione'];
    //un po di js per inviare al insert della nuova posizione
    //in modo da esegure un cambio alla volta (secondo me si evitano errori)
    echo "<input name=\"id\" type=\"hidden\" value=\"$id\">";
    echo "spostare $nome da $posto a: <input type=\"number\" name=\"pos\" min=\"1\" max=\"$pos\">";
}
echo "</form>";
script per cambio posizione
PHP:
//connessione
$id=$_POST['id'];
$nuova_pos=$_POST['pos'];
//uppo la nuova posizione per l'utente
$query=mysqli_query($conn,"UPDATE tabella SET posizione=$nuova_pos WHERE id=$id");
//riaggiusto le varie posizioni scalando gli utenti con posizione maggiore dell'inputata
$query=mysqli_query($conn,"UPDATE tabella SET posizione=posizione+1 WHERE posizione>=$nuova_pos AND id !=$id");
dato la possibilità di eliminare un utente potrebbe succedere che si formi un buco tra una posizione e la successiva, quindi riordino ogni tanto o quando elimino l'utente, la tabella
PHP:
//connessione
//ho eliminato un utente e quindi riordino
$query=mysqli_query($conn,"SELECT id FROM tabella ORDER BY posizione ASC");
$p=1;
while($riga=mysqli_fetch_assoc($query)){
    $id=$riga['id'];
    $riordina=$qu($conn,"UPDATE tabella SET posizione=$p WHERE id=$id");
    $p++;
}
potrebbe andare per ordinamento arbitrario e soggettivo?
 
Discussioni simili
Autore Titolo Forum Risposte Data
T PHP+MYSQL: stampare record con numero progressivo PHP 3
B ciclo in PHP per creare numero progressivo PHP 2
A [PHP] calcolo numero di ore effettuate PHP 7
S [PHP] Convertire un orario in un numero decimale PHP 2
M [PHP] Visualizzare un array partendo dal numero 1 e non 0 PHP 5
N [PHP] Conversione di un numero in ore PHP 2
C [PHP] Numero in formato 1e-5 PHP 0
L [PHP] Problema creazione query a numero di parametri variabile PHP 6
M [PHP] Numero telefonico cliccabile preso dal db PHP 3
xone [PHP] Contare numero dei giorni tra data_in e data_out PHP 11
A [PHP] Creare numero ticket casuale PHP 5
S [PHP] estrarre numero da stringa PHP 5
ANDREA20 [PHP] Numero ordine PHP 15
S [RISOLTO]php contare numero delle query PHP 1
P Analizzare alcune cifre di un numero in php PHP 2
I Recupero numero file uploadati php PHP 1
M formattare numero come valuta euro con PHP PHP 1
T programma php divisori di u numero PHP 11
V Aiuto PHP restiture una risposta in base al numero visitatore PHP 0
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1

Discussioni simili