Visualizzazione risultati 1 fino 18 di 18

Discussione: ordinare record mysql per iniziale

  1. #1
    Guest

    Predefinito ordinare record mysql per iniziale

    Ciao!
    Volevo chiedervi se esiste una funzione che seleziona i record di una tabella che hanno una certa iniziale.
    Mi spiego meglio, una cosa del genere:
    Codice:
    select nome_titolo from recensioni where iniziale=a
    Mi servirebbe in quanto vorrei fare l'elenco delle recensioni presenti nel mio database, divise per lettera.
    Ho provato ad usare questo codice
    Codice PHP:
    select nome_titolo from recensioni where substring(nome_titolo,1,1)=$iniziale
    ma mi restituisce questo errore:
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'where substring(nome_band,1,1)=A' at line 1
    Sapreste aiutarmi?
    Grazie mille
    mat

  2. #2
    Guest

    Predefinito

    select nome_titolo from recensioni where upper(nome_titolo) like $iniziale

    prova così

  3. #3
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    io credo che si possa fare in questo modo:

    select nome_titolo from recensioni where campo like '$iniziale%'

    campo sta per il campo dove ti interessa l'iniziale

  4. #4
    Guest

    Predefinito

    grazie a tutti e due ragazzi, ma mi continua a dire che non è una sintassi corretta per il mysql

  5. #5
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    quella di funcool dovrebbe essere ok...

    $query = "select nome_titolo from recensioni where campo like "'".$iniziale."%'";

    che errore ti da di preciso?
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  6. #6
    Guest

    Predefinito

    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'where nome_band like "'".A."%'' at line 1

  7. #7
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    Citazione Originalmente inviato da Punkpunkpunk
    c'è qualcosa che non va con le virgolette :D

    posta le due righe di codice in cui fai la query che vediamo OLD
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  8. #8
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    $query = "select nome_titolo from recensioni where campo like "'".$iniziale."%'";

    devi togliere quella " subito dopo like "
    cioè:
    $query = "select nome_titolo from recensioni where campo like '".$iniziale."%'";
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  9. #9
    Guest

    Predefinito

    mysql_query("select * from tabella where campo LIKE \"$iniziale%\"");

    così?

  10. #10
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    vero heracleum... messo un " in più :D

    mysql_query("select nome_titolo from recensioni where campo LIKE '".$iniziale%."'");

    LIKE apice virgolette ...var... virgolette apice virgolette

    OLD
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  11. #11
    Guest

    Predefinito

    scusate io non vorrei ma:
    select * from tabella order by campo;

    e.. che ci vuole... :))) Questo lo dico rileggendo bene il titolo del thread...
    Poi se vuoi avere solo quelli con una iniziale
    mysql_query("select * from tabella where campo LIKE \"$iniziale%\" order by campo");

    Così li avrai anche ordinati

  12. #12
    Guest

    Predefinito

    in effetti hai ragione, mi sono espresso male nel titolo.
    comunque scrivendo così:
    Codice PHP:
    query = "SELECT id, nome_band, nome_album FROM recensioni order by nome_band where nome_band LIKE '".$iniziale%."'");
    mi dà l'errore:
    Parse error: parse error, unexpected '.' in /home/sowdust/public_html/elenco_recensioni.php on line 12
    .
    Mentre aggiungebdo gli slash davanti alle virgolette mi dà l'errore che vi ho scritto prima...che fare?

  13. #13
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Il "%" va messo dentro la stringa! non appiccicato alla variabile.

    Correggi con:
    query = "SELECT id, nome_band, nome_album FROM recensioni order by nome_band where nome_band LIKE '".$iniziale."%'");

    (oggi Evcz sta un po' 'mbriaco non ci far caso :grin:)
    Ultima modifica di heracleum : 13-12-2004 alle ore 01.00.28
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  14. #14
    Guest

    Predefinito

    purtroppo continua a darmi lo stesso errore, Parse error: parse error, unexpected ')' in /home/sowdust/public_html/elenco_recensioni.php on line 12.

  15. #15
    Guest

    Predefinito

    apri quel file (elenco recensioni) e posta la linea 12.

    Ma hai provato la mia?

  16. #16
    Guest

    Predefinito

    no me so sbaglieo, c'era una parentesi di troppo.
    comunque scrivendo
    Codice PHP:
    $query = "SELECT id, nome_band, nome_album FROM recensioni order by nome_band where nome_band LIKE '".$iniziale."%'";
    mi dice
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'where nome_band LIKE 'A%'' at line 1

  17. #17
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Certo perché ORDER BY deve stare DOPO la clausola WHERE!
    (scusami stavolta avevo corretto io al volo senza badarci!! siamo tutti un po' rinco eheh)

    dunque:
    $query = "SELECT id, nome_band, nome_album FROM recensioni WHERE nome_band LIKE '".$iniziale."%' ORDER BY nome_band";

    (oh vediamo se questa è la volta buona :grin:)
    dai così non può fallire, stavolta ho osservato bene
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  18. #18
    Guest

    Predefinito

    grazie mille a tutti quanti, finalmente funziona!!! :grin:

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •