Demo
De pagina met de itemgegevens in deze website is gemaakt met deze
code.
Nadat men het bestand up to date gemaakt heeft is een refresh nodig
.
Demo :
http://www.tribuun.com/web_admin/htm/onderwerpen.htm
Lezen in databank mysql en de gegevens opslaan in een htm-bestand
Structuur module
web_admin [maakhtmlbestand.bab.php][tribuun.css][kantoren.css]
klassen [config_class.php]
functies
taal [nederl.php]
tpl [maakphpBB1_items.htm][tribuun.css][kantoren.css]
htm [het aan te maken bestand : onderwerpen.htm]
css_beelden [tribuun.css][kantoren.css]
De css-bestanden werden ook in de tpl-map geplaatst om het aanpassen van het dessign te vergemakkelijken.
Bij het uitvoeren van de php-code wordt er gelezen uit de web_admin-map.
Bij het aanpassen van het htm-bestand verwijst de css-link naar de tpl-map.
css-bestanden:
http://tribuun.com/web_admin/kantoren.css
http://tribuun.com/web_admin/tribuun.css
|
Code: |
1.maakhtmlbestand.bab.php
_______________________
Dit bestand is het Basis Aanroep Bestand
include ("taal/nederl.php");
include ("klassen/config_class.php");
include ("klassen/maakhtml_class.php");
//init config_class
$Conn_1 = new connection;
$Conn_1 -> SetUserPass("","");
$Conn_1 -> SetHostDBname("Localhost",$lang[ERCON],"tribuun_phpbb1",$lang[ERBD]);
$Conn_1 -> MakeConnection();
//init tpl_class : laad het tpl-bestand maakphpBB1_items.html
dat tevens de gegevens
//bevat voor de aante maken htmlpagina [onderwerpen.htm]
require("klassen/tpl_class.php");
$doel = new template("tpl");
$doel ->LaadBestand( array('TW' => '/maakphpBB1_items.htm'));
$doel ->TeWisselen( "TW", array(
"COPYRIGHT" => $lang[COPYRIGHT],
"TITEL"=> $lang[PT1]));
$doel ->parse("TW");
?>
2.web_admin/klassen/Config_class.php
________________________________
<?php
class connection
{
var $db_user;
var $db_pass;
var $db_host;
var $db_name;
var $db_erconn;
var $db_erdb;
var $language; //path + filename
function SetUserPass($user,$pass)
{
$this->db_user = $user;
$this->db_pass = $pass;
}
function SetHostDBname($host,$erconn,$name,$erdb)
{
$this->db_host = $host;
$this->db_name = $name;
$this->db_erconn = $erconn;
$this->db_erdb = $erdb;
}
function MakeConnection()
{
$con= @mysql_connect($this->db_host,$this->db_user,$this->db_pass)
or die ($this->db_erconn);
$db = @mysql_select_db($this->db_name,$con)
or die ($this->db_erdb);
}
}
?>
3.web_admin/klassen/tpl_class.php
_____________________________
<?php
$codevlag = 0;
class template
{
var $html_oud = array(); // Originele htmlcode
in array [html_oud] lezen
var $hou_vars = array(); // De gelezen
variabelen opslaan in array [hou_vars]
var $html_nieuw = array(); // De gelezen en
bijgewerkte code opslaan in [html_nieuw]
function template($html_map)
{
if( !is_dir( $html_map ) )
{
die("template(): $html_map : Deze map werd niet
gevonden.");
}
$this->map['html_map'] = $html_map;
}
function LaadBestand($file_array) // Aan te passen
code in array html_oud lezen
{
foreach( $file_array as $html_var=>$filename )
{
$tplbest = $this->map['html_map'] . $filename;
$this->html_oud[$html_var] = implode( "",
@file($tplbest) );
}
}
function TeWisselen( $greep, $html_varArray )
{
if( !empty( $this->html_oud[$greep] ) )
{
foreach( $html_varArray as $html_var=>$replace )
{
$this->hou_vars['{' . $html_var . '}'] = $replace;
// Alle waarden tussen {} in array [hou_vars] lezen
}
}
}
function parse( $greep )
{
if( empty( $greep ) )
{
die("parse(): $de greep was leeg.");
}
if( !empty( $this->html_oud[$greep] ) )
{
$this->html_nieuw[$greep] = $this->maakeindcode(
$greep );
eval( $this->html_nieuw[$greep] ); // omzetten in
waarden
}
}
function maakeindcode( $greep )
{
$code = $this->html_oud[$greep];
$eindcode = explode( "\n", $code );
$aantregels = sizeof( $eindcode );
for( $x = 0; $x < $aantregels; $x++ )
{
foreach( $this->hou_vars as $php_vars=>$replace
) // Vervang de html_vars met de echte waarden uit het
php-bestand
{
if( preg_match( " $php_vars ", $eindcode[$x] )
)
{
$eindcode[$x] = preg_replace( "{". $php_vars
."}", "\\1" . $replace . "\\2", $eindcode[$x] );
}
}
if (trim($eindcode[$x]) == "<!--")
{
$eindcode[$x] = "";
$codevlag = 1;
}
if (trim($eindcode[$x]) == "-->")
{
$eindcode[$x] = "";
$codevlag = 0;
}
if ($codevlag == 0)
{
$patroon[0] = "/'/"; // array voor meerdere
patronen
$vervanging[0] = "\'"; // array voor meerdere
vervangwaarden
$eindcode[$x] = preg_replace( $patroon,
$vervanging, $eindcode[$x] );
$eindcode[$x] = 'print \'' . $eindcode[$x] .
'\' . "\\n";';
}
}
$code = implode("\n", $eindcode);
return $code;
}
}
?>
4.web_admin/klassen/maakhtml_class.php
__________________________________
<?php
class MakeHtmlFile {
var $Tabname; // mysql-tablename
var $Tabtitel; // html -tabeltitle
var $Fldsort; // het veld waarop we sorteren
var $Fldorder; // de volgorde van sorteren
var $Fldcol = array(); // mysql - fieldname
var $Colname = array(); // html-columntitle
var $Cols; // numbers of cols selected
//var $Lim = 30; // msql
var $Path; // localhostpath +
file-to-write-name
var $Erfile; // error message for fileaction
var $Flcreated; // file creation message
var $Conftabel; // waarden gezet in TD
var $Style = array();
function SetTable($tabel,$title) {
$this->Tabname = $tabel;
$this->Tabtitle = $title;
}
function SetSortOrder($field, $order) {
$this->Fldsort = $field;
$this->Fldorder = $order;
}
function SetFldcol($field, $name) {
$this->Fldcol[] = $field;
$this->Colname[] = $name;
}
function SetPathEr($path,$erfile,$flcreated) {
$this ->Path = $path;
$this ->Erfile = $erfile;
$this ->Flcreated = $flcreated;
}
function SetStyle($style) {
$this->Style[] = $style;
}
function SetConfTabel($html) {
$this->Conftabel = $html;
}
function MaakHtmlPagina()
{
if ($bestand = fopen($this->Path, 'w'))
{
$bestand = fopen($this->Path, 'w');
$query = "SELECT * FROM phpbb_topics WHERE 1
ORDER BY forum_id ASC LIMIT 0, 30" ;
$sql = mysql_query($query) or die(mysql_error());
$nca = count($this->Fldcol); //number of cols in
array Fldcol
print " Start aanmaak ".$this->Path."<br>";
print " Voortgang = 0%<br>";
$datum = getdate();
$datum = getdate();
$maand = $datum['month'];
$mdag = $datum['mday'];
$jaar = $datum['year'];
$datum = $mdag." ".$maand.",".$jaar;
$htmlstring="
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html;
charset=windows-1252\">
<script language=\"Javascript\" src=\"../functies/alg_javafunc.js\"></script>
<link REL=\"stylesheet\" TYPE=\"text/css\" href=\"../tpl/tribuun.css\">
<title>".$this->Tabtitle."</title>
</head>
<body>
<div style=\"background-color: #D1CDCA\"><p align=\"right\"><font
face=\"Verdana\" size=\"1\">
<b>Tribuun.com </b>[pw] Prog ::
Composer  :: htmlitems.cmp.php
copyright(c)2004
<br>Cmp-datum : ".$datum." :: <a href=\"../maakonderwerpen.php\">Update
tabel </a></font></div>
<table ".$this->Conftabel.">
<tr>
<thead ".$this->style[0]." colspan=\"5\">".$this->Tabtitle."</thead>
</tr>";
fputs($bestand, $htmlstring );
$htmlstring = "
<table ".$this->Conftabel.">
<thead><tr><td ".$this->style[5]." colspan=\"4\">".$this->titel."</td></tr></thead>
<tr>";
fputs($bestand, $htmlstring );
for($x=0;$x<=$nca;$x++)
{
$htmlstring = "
<th><font face=\"Verdana\" size=\"1\">".$this->Colname[$x]."</font></th>";
fputs($bestand, $htmlstring );
}
$htmlstring = "
</tr>";
fputs($bestand, $htmlstring );
for($x=1;$x<=$nca;$x++)
{
$htmlstring="
<col ".$this->Style[$x].">";
fputs($bestand, $htmlstring );
}
$htmlstring="
<TBODY ".$this->Style[5]." ONMOUSEOVER='lichtband(true)'
ONMOUSEOUT='lichtband(false)'>
";
fputs($bestand, $htmlstring );
while($row = mysql_fetch_array($sql))
{
$htmlstring = "
<tr><a href=\"http://www.tribuun.com/tribuun_forum/viewtopic.php?t=".$row[$this->Fldcol[1]]."\"></td>";
fputs($bestand, $htmlstring );
for($x=0;$x<=$nca-1;$x++)
{
$htmlstring = "
<td width='' width='100' valign='top' height='15' style='border-bottom:
1px solid #4F6B79'> ".$row[$this->Fldcol[$x]]."</td>";
fputs($bestand,$htmlstring);
}
$htmlstring = "
</a></tr>
";
fputs($bestand,$htmlstring);
}
print " Voortgang = 50%<br>";
$htmlstring = "
</TBODY></td></tr></table>
</table></body></html>";
fputs($bestand, $htmlstring );
print $this->Flcreated;
fclose($bestand);
print " Voortgang = 100%<br>";
print " Programma is doorlopen<br>";
print " <a Href=\"".$this->Path."\">Laad het aangemaakte
bestand ".$this->Path.".";
}
else
{
print $this->Erfile;
}
}
}
?>
5.web_admin/tpl/maakphpbb1_items.htm
_________________________________
<html>
<head>
<meta http-equiv="Content-Language" content="nl-be">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link REL="stylesheet" TYPE="text/css" href="kantoren.css">
<title>Maak html-pagina :: phpBB1-items</title>
</head>
<body>
<table border="0" width="986" cellspacing="0" cellpadding="4"
height="165">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td bgcolor="#4F6B79"><b><font color="#FFFFFF"
face="Verdana" size="1">{TITEL}</font></b></td>
<td height="23"></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td height="23"></td>
</tr>
<tr>
<td style="border-bottom: 1 solid #FFFFFF"
bgcolor="#638697">
<b><font face="Verdana" size="1">Maak
htm</font></b></td>
<td class="tabeltitel" style="border: 1px solid
#FFFFFF" bgcolor="#638697">Actie</td>
<td>
</td>
<td bgcolor="#638697" style="border: 1px solid
#516D7B">
<font face="Verdana" size="2"><b> <font
color="#00FF00">--</font>
<font color="#FF0000">»</font></b></font></td>
<td>
</td>
<td bgcolor="#638697" style="border: 1px solid
#516D7B" rowspan="2">
<font color=#FFFFFF face="Verdana" size="1">
<!--
$Itemlijst = new MakeHtmlFile;
// initiatie
$Itemlijst->SetTable("phpbb_topics","Itemlijst");
// tabelnaam in sqldatabank
$Itemlijst->SetSortOrder("forum_id", "ASC"); //
field to sort,order,number of colums
$Itemlijst->SetPathEr("htm/onderwerpen.htm",$lang[ERFILE],$lang[FLCREATED]);//path
+ name file to create,error message
$Itemlijst->SetFldCol("topic_title", "Titel"); //
=We place the field of wich we will refer to on te [0]
position
$Itemlijst->SetFldCol("topic_id", "No."); // zet
de kol[0] + kolomtitel
$Itemlijst->SetFldCol("forum_id","Cat."); // zet
de kol[1] + kolomtitel
$Itemlijst->SetFldCol("topic_replies", "React.");
// zet de kol[6] + kolomtitel
$Itemlijst->SetStyle("class='tabeltitel'");
//[0]
$Itemlijst->SetStyle("bgcolor=\"#ECEBE7\"");
//[1] html-setting and color 1st column
$Itemlijst->SetStyle("bgcolor=\"#ECEBE7\"");
//[2] html-setting and color 2st column
$Itemlijst->SetStyle("bgcolor=\"#E0DFDA\"");
//[3] html-setting and color 3st column
$Itemlijst->SetStyle("bgcolor=\"#D1CDCA\"");
//[4] html-setting and color 4st column
$Itemlijst->SetStyle("class=\"text\""); //[5]
Columntext
$Itemlijst->SetConfTabel("align='center' valign='top'
border = \"0\" cellspacing=\"0\" cellpadding=\"0\"
width='100%'");
$Itemlijst->MaakHtmlPagina();
// Make the htm-page
-->
</font></td>
<td height="22"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>
</td>
<td>
</td>
<td> </td>
<td height="74"> </td>
</tr>
<tr>
<td width="66"></td>
<td width="60"></td>
<td width="4"></td>
<td width="52"></td>
<td width="4"></td>
<td width="673">
<p class="mini" align="right">Copyright (c) 2004
{COPYRIGHT}</td>
<td height="23" width="99"></td>
</tr>
</table>
</body>
</html> |
[/b]
Laatst aangepast door piet op Zo Aug 15, 2004 9:43 am, in totaal 1
keer bewerkt
|
Naar boven
Steven
Geregistreerd op: 27-7-2004
Berichten: 1
Woonplaats: USA
Geplaatst:
Zo Aug 15, 2004 9:34 am Onderwerp: add
refresh |
|
|
Interesting code.
I wonder if it's posible to add a refresh to the code so the pages
will be auto-updated for example every two minutes.I'm thinking
about databases that get a lot of information.
I'll try this out. |
Naar boven
piet
Site Admin

Geregistreerd op: 26-7-2004
Berichten: 31
Geplaatst:
Zo Aug 15, 2004 4:00 pm Onderwerp: use
the program to make more than 1 html-page |
|
|
Good idea steven,I'll use that.
Making multiple html-pages
Cut out the connection initiation of the startfile and put it in the
templatefile.
Om meer dan 1 pagina te maken moet de initiatie van voor de
connectie met de mysql-server geknipt worden en overgeplaatst worden
naar het template - htm-bestand.
Voorbeeld :: Sample
|
Code: |
<html>
<head>
<meta http-equiv="Content-Language" content="nl-be">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link REL="stylesheet" TYPE="text/css" href="kantoren.css">
<title>Maak html-pagina :: phpBB1-items</title>
</head>
<body>
<table border="0" width="986" cellspacing="0" cellpadding="4"
height="165">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td bgcolor="#4F6B79"><b><font color="#FFFFFF" face="Verdana"
size="1">{TITEL}</font></b></td>
<td height="23"></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td height="23"></td>
</tr>
<tr>
<td style="border-bottom: 1 solid #FFFFFF" bgcolor="#638697">
<b><font face="Verdana" size="1">Maak htm</font></b></td>
<td class="tabeltitel" style="border: 1px solid #FFFFFF"
bgcolor="#638697">Actie</td>
<td>
</td>
<td bgcolor="#638697" style="border: 1px solid
#516D7B">
<font face="Verdana" size="2"><b> <font color="#00FF00">--</font>
<font color="#FF0000">»</font></b></font></td>
<td>
</td>
<td bgcolor="#638697" style="border: 1px solid
#516D7B" rowspan="2">
<font color=#FFFFFF face="Verdana" size="1">
<!--
//init verbinding
$Conn_1 = new connection;
$Conn_1 -> SetUserPass("","");
$Conn_1 -> SetHostDBname("Localhost",$lang[ERCON],"natureweb",$lang[ERBD]);
$Conn_1 -> MakeConnection();
//init tabel
$Itemlijst1 = new MakeHtmlFile;
// initiatie
$Itemlijst1->SetTable("tv_convent","CONVENTIONELE
TV"); // tabelnaam in sqldatabank
$Itemlijst1->SetSortOrder("id", "ASC"); //
field to sort,order,number of colums
$Itemlijst1->SetPathEr("htm/tv_convent.htm",$lang[ERFILE],$lang[FLCREATED]);//path
+ name file to create,error message
$Itemlijst1->SetFldCol("id", "ID"); // =We
place the field of wich we will refer to on te [0] position
$Itemlijst1->SetFldCol("merk", "Merk"); // =We
place the field of wich we will refer to on te [0] position
$Itemlijst1->SetFldCol("merk", "Type"); //
zet de kol[0] + kolomtitel
$Itemlijst1->SetFldCol("type","type"); //
zet de kol[1] + kolomtitel
$Itemlijst1->SetFldCol("schermbr_cm","Schermbr.in
cm"); // zet de kol[1] + kolomtitel
$Itemlijst1->SetFldCol("schermbr_inch", "Schermbr.in
inch"); // zet de kol[6] + kolomtitel
$Itemlijst1->SetFldCol("Verbruik", "Verbruik in
Watt"); // zet de kol[6] + kolomtitel
$Itemlijst1->SetStyle("class='tabeltitel'");
//[0]
$Itemlijst1->SetStyle("class=\"text\""); //[1]
Columntext
$Itemlijst1->SetStyle("bgcolor=\"#ECEBE7\"");
//[2] html-setting and color 1st column
$Itemlijst1->SetStyle("bgcolor=\"#ECEBE7\"");
//[3] html-setting and color 2st column
$Itemlijst1->SetStyle("bgcolor=\"#E0DFDA\"");
//[4] html-setting and color 3st column
$Itemlijst1->SetStyle("bgcolor=\"#D1CDCA\"");
//[5] html-setting and color 4st column
$Itemlijst1->SetStyle("bgcolor=\"#ECEBE7\"");
//[6] html-setting and color 4st column
$Itemlijst1->SetStyle("bgcolor=\"#ECEBE7\"");
//[7] html-setting and color 4st column
$Itemlijst1->SetConfTabel("align='center' valign='top'
border = \"0\" cellspacing=\"0\" cellpadding=\"0\" width='100%'");
$Itemlijst1->MaakHtmlPagina(); //
Make the htm-page
-->
</font></td>
<td height="22"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>
</td>
<td>
</td>
<td> </td>
<td height="74"> </td>
</tr>
<tr>
<td width="66"></td>
<td width="60"></td>
<td width="4"></td>
<td width="52"></td>
<td width="4"></td>
<td width="673">
<p class="mini" align="right">Copyright (c) 2004
{COPYRIGHT}</td>
<td height="12" width="99"></td>
</tr>
<tr>
<td width="66"> </td>
<td width="60"> </td>
<td width="4"> </td>
<td width="52"> </td>
<td width="4"> </td>
<td width="673" valign="top">
</td>
<td height="11" width="99"></td>
</tr>
</table>
<p> </p>
<table border="0" width="986" cellspacing="0" cellpadding="4"
height="165">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td bgcolor="#4F6B79"><b><font color="#FFFFFF" face="Verdana"
size="1">{TITEL}</font></b></td>
<td height="23"></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td height="23"></td>
</tr>
<tr>
<td style="border-bottom: 1 solid #FFFFFF" bgcolor="#638697">
<b><font face="Verdana" size="1">Maak htm</font></b></td>
<td class="tabeltitel" style="border: 1px solid #FFFFFF"
bgcolor="#638697">Actie</td>
<td>
</td>
<td bgcolor="#638697" style="border: 1px solid
#516D7B">
<font face="Verdana" size="2"><b> <font color="#00FF00">--</font>
<font color="#FF0000">»</font></b></font></td>
<td>
</td>
<td bgcolor="#638697" style="border: 1px solid
#516D7B" rowspan="2">
<font color=#FFFFFF face="Verdana" size="1">
<!--
//init verbinding
$Conn = new connection;
$Conn -> SetUserPass("","");
$Conn -> SetHostDBname("Localhost",$lang[ERCON],"tribuun_phpbb1",$lang[ERBD]);
$Conn -> MakeConnection();
//init tabel
$Itemlijst = new MakeHtmlFile;
// initiatie
$Itemlijst->SetTable("phpbb_topics","TRIBUUN
BIBLIOTHEEK Itemlijst"); // tabelnaam in sqldatabank
$Itemlijst->SetSortOrder("forum_id", "ASC");
// field to sort,order,number of colums
$Itemlijst->SetPathEr("htm/Onderwerpen.htm",$lang[ERFILE],$lang[FLCREATED]);//path
+ name file to create,error message
$Itemlijst->SetFldCol("topic_title", "Titel");
// =We place the field of wich we will refer to on te [0]
position
$Itemlijst->SetFldCol("topic_id", "No.");
// zet de kol[0] + kolomtitel
$Itemlijst->SetFldCol("forum_id","Cat.");
// zet de kol[1] + kolomtitel
$Itemlijst->SetFldCol("topic_replies", "React.");
// zet de kol[6] + kolomtitel
$Itemlijst->SetStyle("class='tabeltitel'");
//[0]
$Itemlijst->SetStyle("class=\"text\"");
//[1] Columntext
$Itemlijst->SetStyle("bgcolor=\"#ECEBE7\"");
//[2] html-setting and color 1st column
$Itemlijst->SetStyle("bgcolor=\"#ECEBE7\"");
//[3] html-setting and color 2st column
$Itemlijst->SetStyle("bgcolor=\"#E0DFDA\"");
//[4] html-setting and color 3st column
$Itemlijst->SetStyle("bgcolor=\"#D1CDCA\"");
//[5] html-setting and color 4st column
$Itemlijst->SetConfTabel("align='center' valign='top'
border = \"0\" cellspacing=\"0\" cellpadding=\"0\" width='100%'");
$Itemlijst->MaakHtmlPagina(); //
Make the htm-page
-->
</font></td>
<td height="22"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>
</td>
<td>
</td>
<td> </td>
<td height="74"> </td>
</tr>
<tr>
<td width="66"></td>
<td width="60"></td>
<td width="4"></td>
<td width="52"></td>
<td width="4"></td>
<td width="673">
<p class="mini" align="right">Copyright (c) 2004
{COPYRIGHT}</td>
<td height="12" width="99"></td>
</tr>
<tr>
<td width="66"> </td>
<td width="60"> </td>
<td width="4"> </td>
<td width="52"> </td>
<td width="4"> </td>
<td width="673" valign="top">
</td>
<td height="11" width="99"></td>
</tr>
</table>
</body>
</html>
|
Don't forget to give a unique name for aswell the new connection as
the new makehtmlfile |
|