Visualizzazione risultati 1 fino 14 di 14

Discussione: Dividere in pagine con php

  1. #1
    Guest

    Predefinito Dividere in pagine con php

    ciao a tutti, non sono un esperto di php, anzi sono alle prime armi ma volevo creare uno script x le news estraendole da un file.txt.
    questo è lo script:
    Codice PHP:
    <?php
    //file di testo
    $fp = fopen('prova.txt', 'r'); //Apro il file prova.txt in lettura, lo creo se non esiste



    $mess_per_pag=2;
    $frase="ç";


    //conteggio delle news nel file di testo.
    $tot_messaggi=0;
    $var2=file("prova.txt");//estraggo l'array dal file .txt
    $k=count($var2);//conto gli elementi nell'array
    for($i=0;$i<$k;$i++){
    if(
    trim($var2[$i])==$frase)
    $tot_messaggi++;
    }


    $tot_pagine=ceil($tot_messaggi/$mess_per_pag);



    if(isset(
    $_GET['pagina'])) //controllo ke nell'url esista la pagina
    {
    $pagina=$_GET['pagina']; //do alla variabile pagina il valore della pagina su cui mi trovo
    }
    else{
    $pagina=1;
    }



    fclose($fp); //Chiudo il file aperto precedentemente?>



    <?php
    echo "pagina"." ";
    if(
    $tot_pagine > 1){
    for(
    $pagina = 1; $pagina <= $tot_pagine; $pagina++){
    if(
    $pagina == $pagina_corrente){
    ?>

    <b><?php echo $pagina?></b>
    <?php
    }else{
    ?>

    <a href="index.php?inizio=<?php echo(($pagina - 1) * $mess_per_pag)?>"><?php echo $pagina?></a>
    <?php
    }
    }
    }
    ?>
    ogni messaggio è preceduto da un "ç", così distinguo i messaggi. Non riesco a scrivere dentro ogni pagina, o meglio, non so come si fa...

  2. #2
    Guest

    Predefinito

    Allora, dipende dal modo in cui vuoi farlo, se vuoi utilizzare i file di testo per immagazzinare il file news ti basta scrivere (dentro al tag php)

    include("nomefile.txt");

    Questo comando ti inserisce in qualunque punto della pagina lo metti il testo, ricorda di impostare bene i css sennò avrai difetti grafici ^^

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da mhtitalia Visualizza messaggio
    Allora, dipende dal modo in cui vuoi farlo, se vuoi utilizzare i file di testo per immagazzinare il file news ti basta scrivere (dentro al tag php)

    include("nomefile.txt");

    Questo comando ti inserisce in qualunque punto della pagina lo metti il testo, ricorda di impostare bene i css sennò avrai difetti grafici ^^
    ma non riesco a dividere le news in pagine, sai come fare?

  4. #4
    Guest

    Predefinito

    Prova a sostituire questo:
    Codice PHP:
    $var2=file("prova.txt");//estraggo l'array dal file .txt
    con questo:
    Codice PHP:
    $var2=fread($fp,filesize("prova.txt"));//estraggo l'array dal file .txt
    PS. prova.txt si trova nella stessa cartella di dov'è il file che divide le pagine?? o.O

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da sIM Visualizza messaggio
    Prova a sostituire questo:
    Codice PHP:
    $var2=file("prova.txt");//estraggo l'array dal file .txt
    con questo:
    Codice PHP:
    $var2=fread($fp,filesize("prova.txt"));//estraggo l'array dal file .txt
    PS. prova.txt si trova nella stessa cartella di dov'è il file che divide le pagine?? o.O
    quello ke ho postato è l'unico file ke ho fatto, cmq si il file txt è nella stessa crtella, le pagine ho visto ke le crea( i link in fondo alla pagine per scorrere le pagine ci sono e funzionano ma non riesco a scriverci le news)

  6. #6
    Guest

    Predefinito

    Ah e scusami allora dov'è il codice per scrivere le news?
    Tu hai postato quello per la creazione dei links per le pagine! =)

  7. #7
    Guest

    Predefinito

    ho scritto xk nn so cm scrivere le news all'interno di tutte le pagine

  8. #8
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    per scrivere le news devi creare un form con campi input che ti interessano, fare il controllo dei campi input e scriverli nel file di testo....
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  9. #9
    Guest

    Predefinito

    ok... ma poi quando vado a visualizzarli nel sito cm faccio a dividerli in pagine???
    le pagine l'ho create ma non riesco a "stampare" le news in ogni singola pagina..

  10. #10
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    non ho capito come vuoi far visualizzare le news su più pagine, se vuoi far visualizzare tutte le news su più pagine non credo che sia un problema...
    invece se vuoi far visualizzare diverse news su più pagine ....puoi fare così: o registri le news su più file di testo e quindi prelevi le news dal file.txt che ti interessa per quella pagina, oppure inserisci un marker nel file.txt per ogni news che vuio far visualizzare per quella determinata pagina e quindi prelevi solo quella news....
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  11. #11
    Guest

    Predefinito

    voglio un numero uguale di news per pagina estratte dallo stesso file txt in modo che quando le news arrivino ad un numero più alto di quello impostato me le scriva su diverse pagine

  12. #12
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    ho modificato una tagboard in modo che visualizzi le news su diverse pagine, praticamente ogni 10 news creo un nuovo file di testo dove vado a scrivere le successive news....

    puoi vedere questa tagboard qui:
    http://eurosalute.altervista.org/bctag/

    ovviamente il numero delle news per pagina è modificabile a piacimento.

    il codice del file index.php:
    Codice PHP:
    <?php

    /***********************************************\
    * Bc - TagBoard!
    * Bc Scripts (C) 2004
    * Boris Carollo - bc.scripts@lycos.com
    * http://bcscripts.zapto.org
    \***********************************************/

    // Includo le variabili importanti
    include ("config.php");
    include (
    "vars.php");

    //new on 15/06/2010:
    if (isset($_REQUEST['nextpage']) && !empty($_REQUEST['nextpage'])){
    $nextpage = trim($_REQUEST['nextpage']);
    if (!
    is_numeric($nextpage) && !is_int($nextpage)) $nextpage=1;
    if (!
    file_exists("messages_page".$nextpage.".txt")) $nextpage=1;
    $file="messages_page".$nextpage.".txt";
    }
    else
    $nextpage=1;

    // Conto i messaggi, un "</tr>" vale un messaggio
    $cont = implode ("",file($file));
    $gets = substr_count ($cont,"</tr>");



    // Costruisco il codice HTML
    echo ("
    <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
    <html>
    <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />
    <title>
    $site (Bc - TagBoard $vers)</title>
    <link rel=\"stylesheet\" type=\"text/css\" href=\"
    $dcss\" />
    </head>
    <body>
    <!-- Bc - TagBoard
    $vers -->
    <br />
    <div align=\"center\">
    <table cellspacing=\"1\" cellpadding=\"4\">
    <tr>
    <td class=\"toptd\" width=\"150\" height=\"20\">
    Messaggi: <b>
    $gets</b>
    </td>
    </tr>
    "
    );

    // Includo i messaggi
    include ($file);

    //new on 15/06/2010:
    echo ("Next page : ");
    if (
    $gets == $messaggi_xpage) $nextpage = $nextpage+1;
    for (
    $i=1;$i<=$nextpage;$i++) echo ("<a href=\"index.php?nextpage=$i\">$i</a> |");

    // Footer
    echo ("
    <form method=\"post\" action=\"post.php\">
    <tr>
    <td class=\"bottd\" width=\"150\" valign=\"top\">
    <div align=\"center\">
    <b>Scrivi</b>
    <br /> <br />
    Nome:
    <br />
    <input type=\"text\" name=\"name\" size=\"20\" maxlength=\"15\">
    <br />
    Messaggio:
    <br />
    <input type=\"text\" name=\"mess\" size=\"20\" maxlength=\"90\">
    <br /> <br />
    <input type=\"submit\" name=\"send\" value=\"invia\" /> <input type=\"reset\" value=\"reset\" />
    </td>
    </tr>
    </form>
    </table>
    </div>
    <br />
    <!-- Bc - TagBoard
    $vers -->
    </body>
    </html>
    "
    );

    ?>
    il codice del file post.php:
    Codice PHP:
    <?php

    /***********************************************\
    * Bc - TagBoard!
    * Bc Scripts (C) 2004
    * Boris Carollo - bc.scripts@lycos.com
    * http://bcscripts.zapto.org
    \***********************************************/

    // Includo le variabili importanti
    include ("config.php");
    include (
    "vars.php");

    //new on 15/06/2010:
    if (isset($_REQUEST['nextpage']) && !empty($_REQUEST['nextpage'])){
    $nextpage = trim($_REQUEST['nextpage']);
    if (!
    is_numeric($nextpage) && !is_int($nextpage)) $nextpage=1;
    if (!
    file_exists("messages_page".$nextpage.".txt")) $nextpage=1;
    $file="messages_page".$nextpage.".txt";
    }
    else
    $nextpage=1;

    // Conto i messaggi, un "</tr>" vale un messaggio
    $cont = implode ("",file($file));
    $gets = substr_count ($cont,"</tr>");

    // Controllo se i campi sono stati inseriti
    if (($name == "") || ($mess == "") || ($send == FALSE)) {
    echo (
    "
    <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
    <html>
    <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />
    <title>
    $site (Bc - TagBoard $vers)</title>
    <link rel=\"stylesheet\" type=\"text/css\" href=\"
    $dcss\" />
    </head>
    <body>
    <!-- Bc - TagBoard
    $vers -->
    <br />
    <div align=\"center\">
    <table cellspacing=\"1\" cellpadding=\"4\">
    <tr>
    <td class=\"bottd\" width=\"150\">
    <div align=\"center\">
    Tutti i campi sono obbligatori!
    <br /> <br />
    <a href=\"javascript:history.back(-1)\">Indietro</a>
    </div>
    </td>
    </tr>
    </table>
    </div>
    <br />
    <!-- Bc - TagBoard
    $vers -->
    </body>
    </html>
    "
    );
    }
    else {

    //new on 15/06/2010:
    if ($gets == $messaggi_xpage){
    $nextpage = $nextpage+1;
    $file="messages_page".$nextpage.".txt";
    }

    $join = join ("",file($file));
    $open = fopen ($file,"w+");
    $name = stripslashes ($name);
    $mess = stripslashes ($mess);
    $name = eregi_replace ("<","&lt;",$name);
    $mess = eregi_replace ("<","&lt;",$mess);
    $name = eregi_replace ("'","'",$name);
    $mess = eregi_replace ("'","'",$mess);
    $mess = ereg_replace ("\n","<br />",$mess);
    $mess = wordwrap ($mess,30,"<br />",1);
    $mess = str_replace (":)","<img src=\"images/01.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (":(","<img src=\"images/02.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (":D","<img src=\"images/03.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (":F","<img src=\"images/04.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (";)","<img src=\"images/05.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (";(","<img src=\"images/06.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (":P","<img src=\"images/07.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (":O","<img src=\"images/08.gif\" alt=\"\" border=\"0\" />",$mess);
    flock ($open,2);
    fputs ($open,"
    <!-- Message -->
    <tr>
    <td class=\"bottd\" width=\"150\">
    Messaggio da <b>
    $name</b>
    <br /> <br />
    $mess
    <br /> <br />
    <i>
    $date - $time</i>
    </td>
    </tr>
    $join
    "
    );
    flock ($open,3);
    fclose ($open);
    // Costruisco il codice HTML
    echo ("
    <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
    <html>
    <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />
    <meta http-equiv=\"Refresh\" content=\"2; url=index.php\" />
    <title>
    $site (Bc - GuestBook $vers)</title>
    <link rel=\"stylesheet\" type=\"text/css\" href=\"
    $dcss\" />
    </head>
    <body>
    <!-- Bc - TagBoard
    $vers -->
    <br />
    <div align=\"center\">
    <table cellspacing=\"1\" cellpadding=\"4\">
    <tr>
    <td class=\"bottd\" width=\"150\">
    <div align=\"center\">
    Messaggio inserito!
    <br /> <br />
    <a href=\"index.php\">Home</a>
    </div>
    </td>
    </tr>
    </table>
    </div>
    <br />
    <!-- Bc - TagBoard
    $vers -->
    </body>
    </html>
    "
    );
    }

    ?>
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  13. #13
    Guest

    Predefinito

    utile la tua tag, ma forse sarebbe meglio se le news si vedessero prima le più nuove e poi le più vecchie

  14. #14
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    così come è il codice, l'inserimento delle news non è del tutto corretto....
    allora ho utilizzato la funzione glob() per identificare tutti i file con estensione .txt, e quindi modificato il codice in questo modo:

    pagina post.php:
    Codice PHP:
    <?php

    /***********************************************\
    * Bc - TagBoard!
    * Bc Scripts (C) 2004
    * Boris Carollo - bc.scripts@lycos.com
    * http://bcscripts.zapto.org
    \***********************************************/

    // Includo le variabili importanti
    include ("config.php");
    include (
    "vars.php");

    //new on 15/06/2010 by eurosalute:

    if (isset($_REQUEST['nextpage']) && !empty($_REQUEST['nextpage'])){
    $nextpage = trim($_REQUEST['nextpage']);
    if (!
    is_numeric($nextpage) && !is_int($nextpage)) $nextpage=1;
    if (!
    file_exists("messages_page".$nextpage.".txt")) $nextpage=1;
    //$file="messages_page".$nextpage.".txt";
    }
    else
    $nextpage=1;

    foreach (
    glob('*.txt') as $file_name) {
    $cont = implode ("",file($file_name));
    $gets = substr_count ($cont,"</tr>");
    if (
    $gets == $messaggi_xpage) $nextpage = $nextpage+1;
    }
    $file="messages_page".$nextpage.".txt";

    //end modifica

    // Conto i messaggi, un "</tr>" vale un messaggio
    //$cont = implode ("",file($file));
    //$gets = substr_count ($cont,"</tr>");

    // Controllo se i campi sono stati inseriti
    if (($name == "") || ($mess == "") || ($send == FALSE)) {
    echo (
    "
    <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
    <html>
    <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />
    <title>
    $site (Bc - TagBoard $vers)</title>
    <link rel=\"stylesheet\" type=\"text/css\" href=\"
    $dcss\" />
    </head>
    <body>
    <!-- Bc - TagBoard
    $vers -->
    <br />
    <div align=\"center\">
    <table cellspacing=\"1\" cellpadding=\"4\">
    <tr>
    <td class=\"bottd\" width=\"150\">
    <div align=\"center\">
    Tutti i campi sono obbligatori!
    <br /> <br />
    <a href=\"javascript:history.back(-1)\">Indietro</a>
    </div>
    </td>
    </tr>
    </table>
    </div>
    <br />
    <!-- Bc - TagBoard
    $vers -->
    </body>
    </html>
    "
    );
    }
    else {

    $join = join ("",file($file));
    $open = fopen ($file,"w+");
    $name = stripslashes ($name);
    $mess = stripslashes ($mess);
    $name = eregi_replace ("<","&lt;",$name);
    $mess = eregi_replace ("<","&lt;",$mess);
    $name = eregi_replace ("'","'",$name);
    $mess = eregi_replace ("'","'",$mess);
    $mess = ereg_replace ("\n","<br />",$mess);
    $mess = wordwrap ($mess,30,"<br />",1);
    $mess = str_replace (":)","<img src=\"http://forum.it.altervista.org/images/01.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (":(","<img src=\"http://forum.it.altervista.org/images/02.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (":D","<img src=\"http://forum.it.altervista.org/images/03.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (":F","<img src=\"http://forum.it.altervista.org/images/04.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (";)","<img src=\"http://forum.it.altervista.org/images/05.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (";(","<img src=\"http://forum.it.altervista.org/images/06.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (":P","<img src=\"http://forum.it.altervista.org/images/07.gif\" alt=\"\" border=\"0\" />",$mess);
    $mess = str_replace (":O","<img src=\"http://forum.it.altervista.org/images/08.gif\" alt=\"\" border=\"0\" />",$mess);
    flock ($open,2);
    fputs ($open,"
    <!-- Message -->
    <tr>
    <td class=\"bottd\" width=\"150\">
    Messaggio da <b>
    $name</b>
    <br /> <br />
    $mess
    <br /> <br />
    <i>
    $date - $time</i>
    </td>
    </tr>
    $join
    "
    );
    flock ($open,3);
    fclose ($open);
    // Costruisco il codice HTML
    echo ("
    <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
    <html>
    <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />
    <meta http-equiv=\"Refresh\" content=\"2; url=index.php\" />
    <title>
    $site (Bc - GuestBook $vers)</title>
    <link rel=\"stylesheet\" type=\"text/css\" href=\"
    $dcss\" />
    </head>
    <body>
    <!-- Bc - TagBoard
    $vers -->
    <br />
    <div align=\"center\">
    <table cellspacing=\"1\" cellpadding=\"4\">
    <tr>
    <td class=\"bottd\" width=\"150\">
    <div align=\"center\">
    Messaggio inserito!
    <br /> <br />
    <a href=\"index.php\">Home</a>
    </div>
    </td>
    </tr>
    </table>
    </div>
    <br />
    <!-- Bc - TagBoard
    $vers -->
    </body>
    </html>
    "
    );
    }

    ?>
    pagina index.php(modificato codice per far visualizzare le nuove news per prime):
    Codice PHP:
    <?php

    /***********************************************\
    * Bc - TagBoard!
    * Bc Scripts (C) 2004
    * Boris Carollo - bc.scripts@lycos.com
    * http://bcscripts.zapto.org
    \***********************************************/

    // Includo le variabili importanti
    include ("config.php");
    include (
    "vars.php");

    //new on 15/06/2010 by eurosalute:

    $array_files=glob('*.txt')?glob('*.txt'):array();
    $count_array_files=count($array_files);

    if (isset(
    $_REQUEST['nextpage']) && !empty($_REQUEST['nextpage'])){
    $nextpage = trim($_REQUEST['nextpage']);
    if (!
    is_numeric($nextpage) && !is_int($nextpage)) $nextpage=$count_array_files;
    if (!
    file_exists("messages_page".$nextpage.".txt")) $nextpage=$count_array_files;
    //$file="messages_page".$nextpage.".txt";
    }
    else
    $nextpage=$count_array_files;

    $file="messages_page".$nextpage.".txt";

    //end modifica

    // Conto i messaggi, un "</tr>" vale un messaggio
    $cont = implode ("",file($file));
    $gets = substr_count ($cont,"</tr>");

    // Costruisco il codice HTML
    echo ("
    <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
    <html>
    <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />
    <title>
    $site (Bc - TagBoard $vers)</title>
    <link rel=\"stylesheet\" type=\"text/css\" href=\"
    $dcss\" />
    </head>
    <body>
    <!-- Bc - TagBoard
    $vers -->
    <br />
    <div align=\"center\">
    <table cellspacing=\"1\" cellpadding=\"4\">
    <tr>
    <td class=\"toptd\" width=\"150\" height=\"20\">
    Messaggi: <b>
    $gets</b>
    </td>
    </tr>
    "
    );

    // Includo i messaggi
    include ($file);

    //new on 15/06/2010 by eurosalute:

    echo ("Pagine: ");

    //if ($gets == $messaggi_xpage) $nextpage = $nextpage+1;
    for ($i=$count_array_files;$i>0;$i--) echo ("<a href=\"index.php?nextpage=$i\">$i</a> |");

    //end modifica

    // Footer

    echo ("
    <form method=\"post\" action=\"post.php\">
    <tr>
    <td class=\"bottd\" width=\"150\" valign=\"top\">
    <div align=\"center\">
    <b>Scrivi</b>
    <br /> <br />
    Nome:
    <br />
    <input type=\"text\" name=\"name\" size=\"20\" maxlength=\"15\">
    <br />
    Messaggio:
    <br />
    <input type=\"text\" name=\"mess\" size=\"20\" maxlength=\"90\">
    <br /> <br />
    <input type=\"submit\" name=\"send\" value=\"invia\" /> <input type=\"reset\" value=\"reset\" />
    </td>
    </tr>
    </form>"
    );

    echo (
    "
    </table>
    </div>
    <br />
    <!-- Bc - TagBoard
    $vers -->
    </body>
    </html>
    "
    );

    ?>
    Ultima modifica di EuroSalute : 17-06-2010 alle ore 17.02.35 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •