Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Think
    Registrato dal
    Jun 2005
    Messaggi
    1,008

    [MYSQL] Query con ultimi record

    Ciao

    Ho una tabella news, in cui c'è una colonna categoria per specificare la news a che categoria appartiene.

    Di solito per selezionare le ultime news della categoria 9 faccio così:

    Codice PHP:
    SELECT FROM  `newsWHERE `categoriaLIKE '9' ORDER BY  `idDESC LIMIT 0 10
    bene, ora voglio selezionare le ultime 10 news in ordine temporare non solo della categoria 9, ma anche della 10 e della 11. Come faccio?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    (SELECT * FROM `news` WHERE `categoria` LIKE '9' ORDER BY `id` DESC LIMIT 10)
    union
    (SELECT * FROM `news` WHERE `categoria` LIKE '10' ORDER BY `id` DESC LIMIT 10)
    union
    (SELECT * FROM `news` WHERE `categoria` LIKE '11' ORDER BY `id` DESC LIMIT 10)


    sicuro ti serva il like anzichè l'uguale per la categoria?

  3. #3
    Utente di HTML.it L'avatar di Think
    Registrato dal
    Jun 2005
    Messaggi
    1,008
    Originariamente inviato da nicola75ss
    (SELECT * FROM `news` WHERE `categoria` LIKE '9' ORDER BY `id` DESC LIMIT 10)
    union
    (SELECT * FROM `news` WHERE `categoria` LIKE '10' ORDER BY `id` DESC LIMIT 10)
    union
    (SELECT * FROM `news` WHERE `categoria` LIKE '11' ORDER BY `id` DESC LIMIT 10)

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/--- on line 214...

    emm non va, che faccio?

    però forse mi sono spiegato male, io non voglio che prenda la ultime 10 della categoria 9, le ultime 10 della categoria 10 e le ultime 10 della categoria 11...
    Il mio obbiettivo è che prenda le ultime 10 news totali in ordine di tempo, ma relativamente a solo quelle 3 categorie. Può succedere che per esempio non compaia neanche una delle categoria 10.

    Esempio:

    news 10
    news 11
    news 11
    news 11
    news 9
    news 10
    news 11
    news 9

    lontanamente mi sono spiegato?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    ah capito, prova comunque per curiosità a lanciare la query di prima da pma per vedere se funziona. prova così allora

    SELECT * FROM `news` WHERE `categoria` in ('9','10','11') order by id desc limit 10

    fai attenzione, avevo dimenticato un apice dentro l'in.

  5. #5
    Utente di HTML.it L'avatar di Think
    Registrato dal
    Jun 2005
    Messaggi
    1,008
    Originariamente inviato da nicola75ss
    ah capito, prova comunque per curiosità a lanciare la query di prima da pma per vedere se funziona. prova così allora

    SELECT * FROM `news` WHERE `categoria` in ('9','10','11') order by id desc limit 10
    aaaa si mancava 10''''''''

    grazias 1000! questa funziona da paura!

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Think
    aaaa si mancava 10''''''''

    grazias 1000! questa funziona da paura!
    scusa, distrazione mia.

    prego.

  7. #7
    Utente di HTML.it L'avatar di Think
    Registrato dal
    Jun 2005
    Messaggi
    1,008
    Originariamente inviato da nicola75ss
    scusa, distrazione mia.

    prego.

    anche la prima adesso funziona, ma la seconda è quella giusta. Grazias

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.