Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    [mysql] estrazione ordine alfabetico

    So che la soluzione è semplice ma non ne vengo a capo.
    Il titolo non è autoesplicativo però non trovavo niente di meglio.
    Allora il problema è questo:
    Io ho una scheda tecnica di un'azienda e devo mettere dei link che passano all'azienda precedente e a quella successiva in ordine alfabetico, solo che gli id non sono necessariamente maggiore e/o minore di quello dell'azienda che sto visualizzando. Come organizzo la query?
    Faccio un esempio

    codice:
    id | nome
    4    luisa 
    6    anna
    15   zaratustra
    Se io sto visualizzando la scheda di luisa, come faccio a fare dei link che puntino ad anna (precedente) e zaratustra (successivo)?


    So che la soluzione è a portata di mano.. ma non mi viene neanche un'idea

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    bhe la query è semplice,

    SELECT * FROM tabella ORDER by nome;

    adesso avrai nell'array di mysql i dati ordinati.

    ciao

  3. #3
    se metti ORDER BY nome nella query?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    eh questo lo so... ma vorrei evitare di estrarre un intero array quando mi serve solo un id.. stavo pensando a come sfruttare l'opzione LIMIT

  5. #5
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Originariamente inviato da 13manuel84
    se metti ORDER BY nome nella query?
    D'accordo però "SELECT * FROM tabella WHERE ??? ORDER BY nome LIMIT 1" mi manca ciò che devo sostituire a ???

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    SELECT * FROM tabella WHERE nome>anna ORDER BY NAME LIMIT 1


    credo che cosi funzioni...

  7. #7
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Sì funziona.. l'avevop già provato solo che mi dava errore.. poi ho scoperto in tutta la mia fagianità che mancavano le virgolette WHERE nome>'anna'

    Ora però il problema è la selezione dell'azienda precedente dato che nome<'anna' non funziona

  8. #8
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    OK trovato.. che imbecille.

    Codice PHP:
    $id_prima mysql_result(mysql_query("SELECT id FROM aziende WHERE nome<'$row->nome' ORDER BY nome DESC LIMIT 1"),0);
    $id_dopo mysql_result(mysql_query("SELECT id FROM aziende WHERE nome>'$row->nome' ORDER BY nome LIMIT 1"),0); 

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.