Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [mysql] ordinare dati

  1. #1

    [mysql] ordinare dati

    Salve a tutti

    ho un problema con i dati di una tabella che devo ordinare in modo un po' strano: questa è la tabella:
    codice:
    CREATE TABLE dir_cat (
      cat_id int(11) NOT NULL auto_increment,
      titolo varchar(50) NOT NULL default '',
      up_cat int(11) NOT NULL default '0',
      PRIMARY KEY  (cat_id)
    ) TYPE=MyISAM;
    Questi sono i valori ad esempio:
    codice:
    cat_id | titolo   | up_cat
       1   | Musica   |   0
       2   | Film     |   0
       3   | Sport    |   0
       4   | Calcio   |   3
       5   | Tennis   |   3
       6   | Basket   |   3
       7   | Internet |   0
       8   | Rock     |   1
       9   | Blues    |   1
    Il principio è quello per cui le voci che hanno up_cat = 0 sono categorie principali, le altre sono sottocategorie della categoria con cat_id = up_cat

    Vorrei che venissero ordinate le voci in modo da ottenere ogni categoria con subio sotto le sue sottocategorie, ottenendo ad esempio questo risultato:
    codice:
    cat_id | titolo   | up_cat
       1   | Musica   |   0
       8   | Rock     |   1
       9   | Blues    |   1
       2   | Film     |   0
       3   | Sport    |   0
       4   | Calcio   |   3
       5   | Tennis   |   3
       6   | Basket   |   3
       7   | Internet |   0
    Nel caso non sia possibile, come mi consigliereste di ri-strutturare la tabella per ottenere quel risultato?

    vi prego rispondetemi perché ci ho messo mezzora a scrivere sto messaggio..

    CIAU

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    SELECT *, IF(up_cat=0,cat_id,up_cat) as o FROM `dir_cat` order by o,up_cat,cat_id

  3. #3


    volendo fare quello che romper continuamente le palle...si potrebbe ordinare anche in ordine alfabetico?

    GRAZIE ANCORA!!!

  4. #4
    order by titolo

  5. #5
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Originariamente inviato da pugia


    volendo fare quello che romper continuamente le palle...si potrebbe ordinare anche in ordine alfabetico?

    GRAZIE ANCORA!!!
    order by o,up_cat,titolo

  6. #6
    c'è già un order by, io non vorrei perdere l'ordine che trovo con la query che mi ha scritto prima teuzzo, vorrei che le categorie principali siano in ordine alfabetico, magari chiedo troppo però...


  7. #7
    Originariamente inviato da Teuzzo
    order by o,up_cat,titolo
    ehm...no, non funziona, considera prima l'order by up_cat, e quindi quello del titolo non me lo considera...

  8. #8

  9. #9
    prova cosi:
    order by up_cat and titolo

  10. #10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.