Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314

    Problemi con Array e Query Limitate

    Salve, ho un problema con gli array che non riesco a gestire.

    Ho un sito su altervista con sql e query limitate, ho una sezione news che prende i dati da un tabella del DB. Per evitare di fare continuamente query ad ogni cambio e refresh di pagina ho pensato di utilizzare una variabile di sessione dove vado a salvare un timestam se la differenza tra il timestamp attuale e quello della variabile è maggiore di 5 minuti allora mi controlla se ci sono nuove news (ma lo stesso sistema lo dovrei usare per nuovi messaggi della messaggistica interna.

    Il problema sono gli array che gestiscono le news

    Codice PHP:
    <?php
    $tm
    =time();

     
    $tnews=array();
     
    $msgnews=array();
    if ((!(isset(
    $_SESSION['timernews'])))||(($tm-$_SESSION['timernews'])>5000))
    {
    $mysqli = new mysqli("localhost""root"$psw,$db);

     
    // verifica dell'avvenuta connessione
    if (mysqli_connect_errno()) {
               
    // notifica in caso di errore
            
               // interruzione delle esecuzioni i caso di errore
            
    exit();
     
    }
     
    $i=0;
    // chiusura della connessione
    $query "SELECT * FROM news ";
    // esecuzione della query
    $result $mysqli->query($query);

    // conteggio dei record restituiti dalla query
    if($result->num_rows >0)
     {
        while(
    $row $result->fetch_array(MYSQLI_ASSOC))
    {
     
    $tnews[$i]=$row['Titolo'];
     
    $msgnews[$i]=$row['News'];
     
    $i+=1;
    }
     }
    $mysqli->close();
    $_SESSION['timernews']=time();
    }
    ?>
    Così messo ogni volta riazzera gli array e quindi quando non entra nell'IF la sezione risulta essere vuota.

    Qualcuno potrebbe darmi una mano cortesemente ??

    Poi un'ulteriore domanda visto che questa sezione mi prende in considerazione solo i primi tre messaggi, ed avendo un'altra pagina dove vedo tutte le news, volendo metterla in un file come funzione a se state come posso fare ??

    Grazie Daniele

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    dovresti mettere in sessione anche la lista delle news, se ho ben inteso... altrimenti usa più semplicemente un sistema di caching (ci sono anche librerie o script free in giro): tu peschi i dati dalla cache a meno che non sia trascorso più di X tempo, nel qual caso fai la query

  3. #3
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Grazie Per la risposta.

    Quindi se ho capito bene: creo una cartella chiamata cached (come l'articolo del sito) dove andrò ad inserire i dati. Se il tempo non è trascorso prendo i dati dal quel file altrimenti rifaccio la query. Giusto ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    sì, per esempio... esistono delle librerie/pezzi di codice che fanno questo con oggetti già pronti se le trovi, altrimenti fai tu

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.