Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Ordinamento su due campi di una tabella

    Ciao a tutti !

    Dovrei ordinare, in una tabella HTML, i risultati di una query prelevando i dati da due campi differenti.

    Mi spiego meglio:
    ho la tabella UTENTI, in cui ci sono due campi:
    nazione e stranieroNazione

    nel form di inserimento, l'utente puo' selezionare tramite due radiobutton:
    italiano o straniero (campo obbligatorio)

    quando seleziona italiano nel db viene salvato nella tabella nazione il valore 1
    quando seleziona straniero, nel form compare anche un campo di input nazionalita' (obbligatorio) in cui e' richiesta la nazionalita'.
    Quando salva tutto, nella tabella nazione viene salvato il valore 2 e nella tabella stranieroNazione il valore inserito (tipo: argentina o usa o giappone....).

    Nella lista degli utenti, vorrei poter ordinare i risultati in questo modo:

    -----------------------------------------------
    nome utente | nazione |
    -----------------------------------------------
    canguro | australia |
    -----------------------------------------------
    kenshiro | giappone |
    -----------------------------------------------
    paperino | italiana |
    -----------------------------------------------
    topolino | italiana |

    e via dicendo....

    Hoi provato a usare una query di questo tipo:

    Codice PHP:
    SELECT nazione FROM utenti WHERE stranieroNazione LIKE '2' ORDER BY nazione ASC 
    Ma non riesco ad ottenere il risultato sperato !

    Come posso fare per ottenere un ordinamento corretto, essendo un campo numerico (1 o 2) insieme a un campo alfanumerico (giappone, usa..ecc..ecc..) ?

    Ciao ciao

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Le query sono argomento Database, non PHP.
    Sposto.

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Le query sono argomento Database, non PHP.
    Sposto.
    L'ordinamento e la gestione del risultato della suddetta query pero' avverra' tramite PHP !
    Ad ogni modo, grazie.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Puoi ordinare gli elementi direttamente dalla query, che senso ha fare doppio lavoro usando anche PHP?

  5. #5
    la nazione per esteso è nella stessa tabella?

  6. #6
    Quote Originariamente inviata da optime Visualizza il messaggio
    la nazione per esteso è nella stessa tabella?
    Ciao e grazie per l'interessamento !

    Si, la nazione per esteso si trova nella stessa tabella.

  7. #7
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da _Micky_73 Visualizza il messaggio
    Codice PHP:
    SELECT nazione FROM utenti WHERE stranieroNazione LIKE '2' ORDER BY nazione ASC 
    Ma perché usi il "Like" ???
    ti devi filtrare i 2 quindi:
    codice:
    SELECT nazione FROM utenti WHERE (stranieroNazione = 2) ORDER BY nazione;


    Andando fuori dalla domana mi sembra strano e rindondante che tutti gli Italiani abbiano 1 mentre tutti i NonItaliani abbiano 2
    La distinzione sta già nella nazionalità

    Magari un flag nella tabella "nazioni" con cui marchi Italia ??

    .

  8. #8
    No, in stranieroNazione viene salvata la nazione, nel caso che l'utente selezioni la radiobutton Straniero le si apre un campo di testo dove puo' inserire la nazione e nel campo StranieroNazione viene appunto salvato quello, e non 2, 2 viene salvato nel campo nazione.

  9. #9
    scusa ma non riesco a capire il problema. puoi ricapitolare? grazie

  10. #10
    Quote Originariamente inviata da optime Visualizza il messaggio
    scusa ma non riesco a capire il problema. puoi ricapitolare? grazie
    Ciao Optime !

    Il problema e' sempre lo stesso del primo post, e fermo restando che a quest'ora, dopo 14 ore di php, query, html, form, forum e tutto il resto, inizio anche io a non capire piu' una sega

    Vorrei ordinare i risultati in ordine crescete o decrescente tenendo conto che:

    ho una tabella con dentro un campo:
    nazionalita che se e' italiano e' sempre uguale a 1
    e se e' straniero e ' uguale a 2

    in aggiunta al campo nazionalita ho un ulteriore campo stranieroNazione in cui si salva l'eventuale nazione straniera, se in fase di inserimento dati si seleziona straniero e compare il campo "quale nazione" che appunto salva il risultato (se e' uguale a 2 e percio' straniero...) della nazione.

    Vorrei visualizzare e/o ordinare i risultati in questo modo:

    italiano
    italiano
    italiano
    italiano
    australia
    inghilterra
    USA
    ecc...ecc...

    Oppure, se decrecente:

    USA
    inghilterra
    australia
    italiano
    italiano
    italiano
    ecc...ecc...

    PS: non mi interessa ordinare i campi italiano, magari quello e' lo step sucessivo in quanto se si seleziona italiano, permette l'inserimento di regione, provincia e citta', ma andiamo con ordine



    Ciaooo
    Ultima modifica di _Micky_73; 14-10-2017 a 01:00

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 © 2024 vBulletin Solutions, Inc. All rights reserved.