• User

    [Risolto] Lista di News nella mia Home Page!

    Ciao raga..Avrei ,di nuovo, bisogno della vostra consulenza..
    Ho inserito nel mio sito un pannello di gestine news..:)
    E sono riuscito anche a far apparire in Home le "Anteprime" delle
    prime 4 news più recenti ,tramite questo piccolo script:

    <?
            require('config.php'); 
     $filename = "article_summary.html";
     #- open article summaries
     if(file_exists($filename)){
      $fh = fopen($filename, "r");
      $old_news = fread($fh, filesize($filename));
      fclose($fh);
     }
     
     #- get first three article
     $articles = explode("<!--ARTICLE-->", $old_news);
     $i=0;
     foreach ( $articles as $article ){
      if(count($articles)>$i){
       if($max_news >= $i++){
        print $article;
       }
      }
     }
    ?>
    

    Qui, il config.php

    <?
     $summary_template = "t_summary.html";
     $article_template = "t_article.html";
     $max_summary = 4;
     $max_news = 4;
     $password = "*****";
    ?>
    

    Questo è il metodo per far comparire in home le prime 4..
    Mi servirebbe ora un modo per far comparire le successive 6 (escludendo appunto le già presenti in un'altra tabella prime quattro)..
    Cosa dovrei modificare per rendere possibile ciò?


  • User Attivo

    nel file config aggiungi $m_news = 6; //se vuoi altre 6 news e quel codice(questo qua sotto) lo metti dove le vuoi far apparire
    @Darkel said:

    ><?
            require('config.php'); 
     $filename = "article_summary.html";
     #- open article summaries
     if(file_exists($filename)){
      $fh = fopen($filename, "r");
      $old_news = fread($fh, filesize($filename));
      fclose($fh);
     }
     
     #- get first three article
     $articles = explode("<!--ARTICLE-->", $old_news);
     $i=0;
     foreach ( $articles as $article ){
      if(count($articles)>$i){
      if($i++ > $max_news){
       if($m_news >= $i ){
        print $article;
       }
    }
      }
     }
    ?>
    >```
    fammi sapere

  • User

    Innanzi tutto,grazie per la risposta rapida..
    Il myo problema è che vorrei ,si, una tabella con 6 news, ma vorrei che da queste 6 fossero escluse le prime 4 che ho già inserito nell'altra tabella..

    Es.(Facciamo conto che ho 10 news..vorrei una tabella con le ultime 4 news, e un'altra divisa con le restanti 6..)


  • User Attivo

    il codice che hai postato tu, lo metti in una tabella, la prima (che mi sembra che hai già fatto.

    il codice che ti ho postato io lo metti nella seconda tabella 🙂


  • User

    Il codice funzione bene, il problema è che, nella seconda tabella, le news dovrebbero partire dalla quinta in poi (in ordine decrescente), e non dalla prima come accade.
    In pratica le news sono 10:
    TABELLA 1)
    NEWS 10
    NEWS 9
    NEWS 8
    NEWS 7
    TABELLA 2)
    NEWS 6
    NEWS 5
    NEWS 4
    NEWS 3
    NEWS 2
    NEWS 1

    Nel caso del tuo codice, invece, il risultato è:
    TABELLA 1)
    NEWS 10
    NEWS 9
    NEWS 8
    NEWS 7
    TABELLA 2)
    NEWS 10
    NEWS 9
    NEWS 8
    NEWS 7
    NEWS 6
    NEWS 5

    Le prime quattro (già presenti nella prima tabella che ho fatto in precedenza) dovrebbero essere escluse dalla seconda. Cosa occorre modificare per rendere fattibile ciò?
    Thanks


  • User

    Grande! ho risolto correggendo una lettera dal tuo codice 🙂

    <?
            require('config.php'); 
     $filename = "article_summary.html";
     #- open article summaries
     if(file_exists($filename)){
      $fh = fopen($filename, "r");
      $old_news = fread($fh, filesize($filename));
      fclose($fh);
     }
     
     #- get first three article
     $articles = explode("<!--ARTICLE-->", $old_news);
     $i=0;
     foreach ( $articles as $article ){
      if(count($articles)>$i){
      if($i++ > $max_news){
       **if($m_news <= $i ){**
        print $article;
       }
    }
    }
     }
    ?>
    
    

    In pratica bisognava sostituire il simbolo "maggiore" (>) ,con "minore" (<)

    Grazie per il supporto cmq 😉


  • User Attivo

    errore, ero di fretta, felice di averti aiutato


  • User Attivo

    Ottimo ragazzi, segnalo come risolto.

    Grazie

    :ciauz: