Newsgroup: it.comp.www.php
Titolo: template

template 
chi mi spiega questo? 
code:
------------------------------------------------------------------------
<?
## INCLUDIAMO IL FILE CONTENENTE IL CODICE PER L'INTERROGAZIONE A MYSQL
include("mysql.php");
## LEGGIAMO IL CONTENUTO DEL TEMPLATE E LO MEMORIZZIAMO NELLA VARIABILE 
$file_content
$file_content = implode("",file("template.txt"));
## SCORRIAMO I RISULTATI DELL'INTERROGAZIONE E STAMPIAMO LE SINGOLE 
NOTIZIE
while($ris=mysql_fetch_array($res)) {
$output = eregi_replace("<!-- TITOLO -->", $ris["Titolo"], 
$file_content);
$output = eregi_replace("<!-- CONTENUTO -->", $ris["Contenuto"], 
$output);
$output = eregi_replace("<!-- DATA -->", date("d/m/Y", $ris["Data"]), 
$output);
echo $output;
}
## CHIUDIAMO LA CONNESSIONE A MYSQL
@mysql_close($connessione);
?> 
------------------------------------------------------------------------
e perche aggiungono $output alla fine di: 
code:
------------------------------------------------------------------------
$output = eregi_replace("<!-- CONTENUTO -->", $ris["Contenuto"], 
$output);
------------------------------------------------------------------------
approposito:
...e nel caso che in una pagina ci sia una parte fissa di dati e una 
parte che ha bisogno un ciclo 
ad esempio while?? 
code:
------------------------------------------------------------------------
<html>
<head>
<title>{titolo}</title>
</head>
<body bgcolor="{bgcolor}">
<a href="{home_page_link}">{home_page_title}</a>
<table>
<!-- sezione a ciclo -->
 <tr>
  <td>{dato A}</td>
  <td>{dato B}</td>
 </tr>
<!-- /sezione a ciclo -->
</table>
{saluti}
</body>
</html>
------------------------------------------------------------------------
come modifico dinamicamente i dati?

Non entro nel merito del codice, ma ti spiego il principio su cui si basa,
che ti sarà molto più utile.
Il template non è nient'altro che una pagina HTML pura, al cui interno
vengono inseriti dei commenti del tipo <!--TITOLO-->.
In questo modo chi si occupa della grafica (ad es. con dreamweaver) deve
gestire un commento, cosa molto semplice e non ha codice tra i piedi.
Quindi può spostare il commento dove vuole e metterci tutto il layout che
vuole.
Quello che fa il tuo script è caricare il template in una variabile, ossia
il testo del file html finisce in una variabile mediante implode().
Poi effettua una sostituzione testuale del commento con il valore che
elabori nello script stesso. Sostitiusci il commento html con un valore.
Per quanto riguarda i cicli il discorso è analogo ma si complica un pochino.
Infatti dovrai preparare 3 file html diversi: header, content e footer.
header e footer sono la parte iniziale e finale della pagina html
risultante.
Per intenderci saranno una cosa del tipo:
header.html
<html>
<head>
    <title>...</title>
</head>
<body>
<table>
footer.html
</table>
</body>
</html>
Il content è invece la parte che viene ripetuta per ogni iterazione del
ciclo:
<tr>
    <td><!--FOTO--></td>
    <td><!--TITOLO--></td>
    <td><!--PREZZO--></td>
</tr>
Quindi prepari l'header.
Poi PER OGNI iterazione del ciclo carichi il template, fai le dovute
sostituzioni e lo aggiungi al risultato.
Infine ci metti il footer e la tua pagina è pronta.
Ciao
Marco