Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [strategia] mysql_query o array () ??

    Ciao a tutti

    avrei cortesemente bisogno di un vs/ parere.

    Nel sito che gestisco (che gira con Php 4.3.3 e mysql 3.23.58) ho creato una paginetta php che visualizza le news:


    - nella colonna di sinistra:

    in alto: la data ed il titolo delle ultime 3 news (faccio 1 query con cui chiedo le ultime 3: … ORDER BY `data` DESC LIMIT 0, 3)

    in basso: l’elenco degli anni (query: SELECT DISTINCT YEAR (data) as anni *** GROUP BY YEAR (data) DESC')


    - nel corpo centrale: lo script si comporta come segue:

    se esiste un $_GET [‘id’] allora interroga il DB e richiede la singola news

    se esiste un $_GET [‘anno’] allora interroga il DB e butta fuori l’elenco delle news dell’anno

    se non c’è nulla di particolare nella querystring, allora estrae le 5 più recenti news .


    Come vedete la paginetta (che funziona bene e sembra anche molto veloce…) esegue sistematicamente 3 query sulla stessa tabella.

    Volevo chiedervi se questo è un approccio corretto oppure se sia preferibile scomodare gli array, ad esempio caricando tutta la tabella sull’array e facendo le operazioni di cui sopra con funzioni dedicate…

    Grazie per i vs contributi e ciao

    stefano

  2. #2
    A mio avviso, essendo MySQL un gestore di dati e' molto piu' pratico per lui eseguire tre queri che per PHP dover scorrere avanti ed indietro un array per filtrare dei dati. Quindi direi sicuramente fai le 3 query.

    Tra l'altro se ricordo bene il comportamento del SQL, nella query che preleva gli anni dovrebbe bastarti lo SELECT DISTINCT YEAR (data) senza utilizzare anche GROUP BY YEAR (data), perche' lui ti restituisce soltanto un i valori distinti di YEAR(data), pero' devi provare con qualche dato per esserne sicuro

  3. #3
    Originariamente inviato da WhiteDragon
    Tra l'altro se ricordo bene il comportamento del SQL, nella query che preleva gli anni dovrebbe bastarti lo SELECT DISTINCT YEAR (data) senza utilizzare anche GROUP BY YEAR (data), perche' lui ti restituisce soltanto un i valori distinti di YEAR(data), pero' devi provare con qualche dato per esserne sicuro
    Si è vero c'è un pezzo in più che non è necessario; è rimasto da una precedente versione che a fianco degli anni raggruppava il numero dei post:

    2007 (120)
    2006 (100)

    Ti ringrazio per il tuo feedback.


    stefano

  4. #4
    UP ! :quote:

    casomai ci fosse qualche altro contributo...

    grazie.
    stefano

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.