• User

    Query non restituisce ordine alfabetico

    Ciao a tutti, avrei bisogno di aiuto per quanto riguarda questa funzione.

    Ho creato una tabella nel mysql chiamata statistiche e ho messo vari campi (id, pilota, nazione, vittorie, pole, podi, giri_v e punti).
    Lanciando questa query mi crea la tabella.

    CREATE TABLE IF NOT EXISTS `statistiche` (
      `id` int(50) NOT NULL AUTO_INCREMENT,
      `pilota` text NOT NULL,
      `nazione` text NOT NULL,
      `vittorie` decimal(10,0) NOT NULL,
      `pole` decimal(10,0) NOT NULL,
      `podi` decimal(10,0) NOT NULL,
      `giri_v` decimal(10,0) NOT NULL,
      `punti` decimal(10,0) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=528 ;
    

    Ora se volessi mettere in ordine alfabetico devo lanciare questa:

    SELECT pilota from statistiche order by pilota asc
    

    Il problema è che non mi mette in ordine alfabetico tutto, ma solo a pezzi... all'interno del campo pilota appare nome e cognome distanziati con uno spazio classico (esempio con nomi di fantasia: parte con alessio pino, andrea gatti, davide scullo, francesco pini, ecc.... dopo riparte con alex guadagnini, claudio finti ecc...fino ad arrivare alla fine... io non riesco a capire dove sbaglio).
    Altra cosa, questo problema me lo da anche quando lancio la query, dell'ordine, dal pannello di amministrazione mysql, non solo quando mi stampa la pagina, e questo mi pare strano.
    L'unica cosa che mi verrebbe da dire è che forse ho settato qualche campo in modo errato, ma essendo alle prime armi con mysql e php, non sono in grado di trovare l'errore.

    Il mio sito è ospitato su altervista.

    P.S. Se lancio la seconda query sostituendo i campi con altri presenti in tabella, funziona correttamente la visualizzazione, solo per quel determinato campo non lo fa.

    Grazie mille a chiunque voglia aiutarmi. 😄


  • Super User

    Hai controllato di non avere spazi vuoti davanti ai nomi?


  • User

    Si, lo spazio lo ho tra il nome ed il cognome.
    Mi pare assai strana come cosa, e non riesco a capirne il motivo 😞


  • Super User

    Ovvio, non quello tra nome e cognome... intendo prima del nome, magari ti è scappato uno spazio e dunque sballa l'ordine alfabetico.


  • User

    @Teju said:

    Ovvio, non quello tra nome e cognome... intendo prima del nome, magari ti è scappato uno spazio e dunque sballa l'ordine alfabetico.

    Grazie per la risposta, ma oltre a quello spazio non ne ho altri all'interno della riga.

    Potrebbe essere un settaggio sbagliato nel campo pilota??? te lo chiedo in quanto non sono un esperto di php e mysql (sono all'inizio con questo linguaggio)


  • Super User

    Usi PhpMyAdmin? Se sì, prova a fare un export di quella tabella ed inserire qui i dati


  • User

    Grazie mille per l'aiuto, ma adesso non so per quale strano motivo funziona :lipssealed: eppure avevo anche cancellato tutto più di una volta, riscrivendomi tutti i nomi... bha... mistero 😞

    Sei stato gentilissimo, e grazie per il supporto datomi.

    Ciao alla prossima.


  • Super User

    Ciao, allora sì, confermo che probabilmente inserivi caratteri non riconosciuti o spazi ad inizio di alcuni nomi.
    Bene comunque si sia risolto! ^_^
    Buona continuazione


  • User

    @Teju said:

    Ciao, allora sì, confermo che probabilmente inserivi caratteri non riconosciuti o spazi ad inizio di alcuni nomi.
    Bene comunque si sia risolto! ^_^
    Buona continuazione

    Ciao Teju, se vuoi te lo incollo il codice per fartelo vedere...
    Da parte mia ti posso garantire che dall'invio del mio ultimo messaggio in questo forum non ho modificato nulla in quanto non sapevo che cosa fare, e anche perché ero anche a lavoro.
    Grazie, e buona continuazione anche a te.


  • Super User

    Sì, prova. Codice e dump sql, magari c'è un qualche caso particolare... Boh! ^^


  • User

    @Teju said:

    Sì, prova. Codice e dump sql, magari c'è un qualche caso particolare... Boh! ^^
    Ecco qui l'intero codice che viene fuori se faccio esporta la tabella come sql 😉

    -- phpMyAdmin SQL Dump
    -- version 2.11.11.3
    
    --
    -- Host: localhost
    -- Generato il: 08 Ago, 2012 at 07:30 PM
    -- Versione MySQL: 5.1.58
    -- Versione PHP: 5.2.17
    
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    
    --
    -- Database: `my_totalracingsim`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Struttura della tabella `statistiche`
    --
    
    CREATE TABLE IF NOT EXISTS `statistiche` (
      `id` int(50) NOT NULL AUTO_INCREMENT,
      `pilota` text NOT NULL,
      `nazione` text NOT NULL,
      `vittorie` decimal(10,0) NOT NULL,
      `pole` decimal(10,0) NOT NULL,
      `podi` decimal(10,0) NOT NULL,
      `giri_v` decimal(10,0) NOT NULL,
      `punti` decimal(10,0) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=528 ;
    
    --
    -- Dump dei dati per la tabella `statistiche`
    --
    
    INSERT INTO `statistiche` (`id`, `pilota`, `nazione`, `vittorie`, `pole`, `podi`, `giri_v`, `punti`) VALUES
    (480, 'Michael Francesconi', 'Italy', 9, 4, 15, 6, 930),
    (481, 'Alex Piccolo', 'Italy', 6, 3, 12, 5, 680),
    (482, 'Kristian Francesconi', 'Italy', 3, 8, 6, 7, 580),
    (483, 'Emanuele Mascetti', 'Italy', 3, 3, 10, 5, 490),
    (484, 'Claudio Boggio', 'Italy', 2, 4, 9, 1, 410),
    (485, 'Giorgos Prevezanos', 'Greece', 2, 1, 13, 3, 400),
    (486, 'Fabio Cangioli', 'Italy', 2, 1, 10, 4, 370),
    (487, 'Pasquale Nese', 'Italy', 3, 1, 10, 5, 340),
    (488, 'Andrea Romeo', 'Italy', 2, 2, 6, 3, 310),
    (489, 'Gabriele De Angelis', 'Italy', 2, 0, 6, 0, 220),
    (490, 'Mario Mazzelli', 'Italy', 2, 0, 8, 1, 220),
    (491, 'Vittorio Scalet', 'Italy', 2, 1, 6, 0, 250),
    (492, 'Alessio Bertani', 'Italy', 1, 1, 1, 1, 110),
    (494, 'Simone Porcu', 'Italy', 1, 0, 2, 0, 90),
    (503, 'Eros Masciulli', 'Italy', 1, 0, 1, 1, 80),
    (504, 'Alessio Lucchesi', 'Italy', 1, 0, 1, 0, 70),
    (505, 'Andrea Danese', 'Italy', 1, 0, 1, 0, 70),
    (506, 'Alessandro Prosperi', 'Italy', 0, 0, 2, 0, 40),
    (507, 'Federico Mascetti', 'Italy', 0, 0, 2, 0, 40),
    (508, 'Johnnj Piccolo', 'Italy', 0, 0, 2, 0, 40),
    (509, 'Vito Martino', 'Italy', 0, 0, 2, 0, 40),
    (510, 'Giovanni Bernardi', 'Italy', 0, 0, 1, 0, 20),
    (513, 'Pino Galota', 'Italy', 0, 0, 1, 0, 20),
    (514, 'Davide De Poli', 'Italy', 0, 1, 0, 0, 30),
    (519, 'Luca Villa', 'Italy', 3, 3, 6, 5, 0),
    (520, 'Alessandro Rizzi', 'Italy', 1, 0, 1, 0, 0),
    (521, 'Samuele Di Silvestro', 'Italy', 0, 0, 1, 0, 0),
    (522, 'Luigi Fontana', 'Italy', 0, 0, 1, 0, 0),
    (527, 'Luca Radaelli', 'Italy', 1, 0, 4, 0, 0);
    
    

  • Super User

    Ciao, così non ci sono caratteri strani ed infatti funziona. Boh, magari nelle varie prove precedenti c'era qualche valore strano....


  • User

    Bho, il fatto che io non ho modificato nulla rispetto al mio ultimo messaggio. Ci sarà stato forse un problema con il server mysql...