• User

    Indici di "Anteprima News" : limite numerico

    Ciao a tutti,raga..
    Ho inserito nel mio sito un pannello di gestione news..
    E sono riuscito anche a far apparire in Home le "Anteprime" delle
    prime 3 news più recenti ,tramite questo piccolo script..

    <?
            require(*'config.php'*); 
    $filename = "*LISTANEWS.php*";
    #- 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(3 >= $i++){**
        print $article;
       }
      }
    }
    ?>
    
    

    Mi servirebbe ora un modo per far comparire le successive 5 in una nuova tabella (escludendo appunto le 3 già presenti)..

    Ho esposto il seguente argomento già in una precedente Discussione ..
    Tutto sembrava andare bene,ma successivamente mi sono accorto che le news ,partivano sì dalla quarta in poi,ma non rispettavano il limite numerico imposto dallo script (che è di massimo 5 news)

    Qui di seguito il codice che ho utilizzato:

     
    <?
            require(*'config.php'*); 
     $filename = "*LISTANEWS.php*";
     #- 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++ > 3){**
    **  if(5 <= $i++ ){**
        print $article;
       }
    }
    }
     }
    ?>
    

    Qualcuno mi da una dritta? :mmm:


  • User

    In pratica il mio intento è quello di arrivare a tale soluzione:

    **TABELLA 1) **
    NEWS 12
    NEWS 11
    NEWS 10
    TABELLA 2)
    NEWS 9
    NEWS 8
    NEWS 7
    NEWS 6
    NEWS 5

    Invece mi riporta questo risultato:

    **TABELLA 1) **
    NEWS 12
    NEWS 11
    NEWS 10
    TABELLA 2)
    NEWS 9
    NEWS 8
    NEWS 7

    Ho sbagliato qualcosa nello script della seconda tabella?


  • User Attivo

    Prova così:

    [php]
    //...
    foreach ($articles as $article)
    {
    if(count($articles) > $i)
    {
    if(($i > 3) && ($i <= 5))
    {
    print $article;
    }
    $i++;
    }
    }
    //...
    [/php]Ciao!


  • User

    grazie per aver risposto alla mia richiesta ^^ ..

    Pare che ci sia un problema con l'accorgimento che mi hai dato: comargono solo 2 news anzichè 5 ..
    Mentre se inserisco

    
    foreach ($articles as $article)
    {
      if(count($articles) > $i)
      {
        if(($i > 3) && **(****$i <= 8****))**
        {
          print $article;
        }
        $i++;
      }
    }
    
    

    Allora sì,ne compargono 5 come vorrei..


  • User Attivo

    Hai ragione, mi son confuso con i numeri, però l'idea c'era 😛

    Ciao!


  • User

    GRaZZzzzIe mille! 🙂