Bestanden:
-menu_class.php
-menu_vb.php
1:menu_class.php
| Code: |
<?php
//______________ 1.Contact maken met de
databank____________________________________________
$db_user = ''; //Ingave gebruikersnaam voor
mysql-gastheer
$db_pass = ''; //Ingave wachtwoord for voor
mysql-gastheer
$db_host = 'localhost'; //Ingave servernaam [gewoonlijk :
localhost]
$db_name = 'test'; //Enter your Database name
$con= @mysql_connect("$db_host","$db_user","$db_pass")
or die ("Kan geen contact maken met de gastheer.");
$db = @mysql_select_db("$db_name",$con)
or die ("Kan geen contact leggen met $db_name databank.<br>Controleer
details aangaande de databankconnectie en probeer opnieuw");
//_____________ 2. De Klasse Menu configureren
_______________________________________________
class menu {
var $tabel;
var $tabeltitel;
var $tabelnr; // om verschillende menus kunnen weer
te geven
var $veldrang; // het veld waarop we sorteren
var $rangorde; // de volgorde van sorteren
var $Kol = array();
var $KolNaam = array();
var $limiet = 30;
var $AG_tabel; // waarden gezet in TD
var $AG_td; // rij waar de lichtband niet moet
oplichten;
var $Stijl = array();
//______________________________ Klasse-functie : Tabelnaam
opgeven ________________________________
function ZetTable($tabel) {
$this->tabel = $tabel;
}
//______________________________ Klasse-functie : Hoofding +
menu-nr opgeven _______________________
function ZetTabelTitel($titel,$nr) {
$this->tabeltitel = $titel;
$this->tabelnr = $nr;
}
//______________________________ Klasse-functie : Rangorde
bepalen __________________________________
function ZetRangOrde($veld, $volgorde) {
$this->veldrang = $veld;
$this->rangorde = $volgorde;
}
//______________________________ Klasse-functie : Kolom en
Kolomhoofding _____________________________
function ZetKol($veld, $omschrijving) {
$this->Kol[] = $veld;
$this->KolNaam[] = $omschrijving;
}
//______________________________ Klasse-functie : stijlen
____________________________________________
function ZetStijl($stijlen) {
$this->Stijl[] = $stijlen;
}
function ZetAG_tabel($html) {
$this->AG_tabel = $html;
}
function ZetAG_td($html) {
$this->AG_td = $html;
}
//______________________________ Klasse-functie : Haal menuinfo
______________________________________
function HaalMenu () {
$query = "SELECT * FROM ". $this->tabel;
$sql = mysql_query($query) or die(mysql_error());
}
//______________________________ Klasse-functie : Maak de
html-code __________________________________
function MaakHtml() {
print "
<td ".$this->Stijl[1]." onClick='expandit(this)' class= ".$this->AG_tabel."</td>
".$this->tabeltitel."<span style='display:none'><table width='100%'
cellspacing='0' height='16' >
<TBODY ONMOUSEOVER='lichtband(true)' ONMOUSEOUT='lichtband(false)'>";
$this->HaalMenu();
$query = "SELECT * FROM $this->tabel WHERE 1 AND `Menu_id`=$this->tabelnr
ORDER BY $this->veldrang $this->rangorde LIMIT 0, $this->limiet";
$sql = mysql_query($query) or die(mysql_error());
// de records ophalen
$row = mysql_fetch_object($sql);
print "<tr><td ".$this->Stijl[2]." width='150' valign='bottom'
bgcolor='#7893A0' > </td>";
print "<td ".$this->Stijl[2]." width='' valign='bottom' > </td>";
print "<td ".$this->Stijl[2]." width='' valign='bottom' align='center'>".$this->KolNaam[3]."</td>";
print "<td ".$this->Stijl[2]." width='' valign='bottom' align='center'>".$this->KolNaam[4]."</td>";
print "<td ".$this->Stijl[2]." width='' valign='bottom' align='center'>".$this->KolNaam[5]."</td>";
print "<td ".$this->Stijl[2]." width='' valign='bottom' align='center'>".$this->KolNaam[6]."</td></tr>";
while($row = mysql_fetch_object($sql)) {
$subrecord = $this->Kol[0];
print "<tr><a href=".$row->$subrecord.">";
$subrecord = $this->Kol[1];
print "<td class='menutitel' width='' width='100'
valign='top' height='15' style='border-bottom: 1px solid
#4F6B79'>".$row->$subrecord."</td>";
$subrecord = $this->Kol[2];
print "<td class='menutitel' valign='top' height='15'
style='border-bottom: 1px solid #4F6B79'>".$row->$subrecord."</td>";
$subrecord = $this->Kol[3];
print "<td ".$this->Stijl[3]." width='' valign='top'
height='15'>".$row->$subrecord."</td>";
$subrecord = $this->Kol[4];
print "<td ".$this->Stijl[4]." width='' valign='top'
height='15'>".$row->$subrecord."</td>";
$subrecord = $this->Kol[5];
print "<td ".$this->Stijl[5]." width='' valign='top'
height='15'>".$row->$subrecord."</td>";
$subrecord = $this->Kol[6];
print "<td ".$this->Stijl[6]." width='' valign='top'
height='15'align='center'>".$row->$subrecord."</td>";
print "</a>";
print "</tr>";
}
print "<tr><td width='100' height='16'
".$this->AG_td."> </td>";
print "<td width='' height='16'
".$this->AG_td."> </td>";
print "<td width='' height='16' ".$this->AG_td.">
</td>";
print "<td width='' height='16' ".$this->AG_td.">
</td>";
print "<td width='' height='16' ".$this->AG_td.">
</td>";
print "<td width='' height='16' ".$this->AG_td.">
</td></tr>";
print "</TBODY></table></span></td></tr>";
}
}
//______________ Java functies and stijlen
_______________________________
?>
<script language="javascript">
/* voor het uitklappen van de contents */
var ns6=document.getElementById&&!document.all?1:0
var head="display:''"
var folder=''
function expandit(curobj){
folder=ns6?curobj.nextSibling.nextSibling.style:document.all[curobj.sourceIndex+1].style
if (folder.display=="none")
folder.display=""
else
folder.display="none"
}
function haalelement(el) {
var tagList = new Object
for (var i = 1; i < arguments.length; i++)
tagList[arguments[i]] = true
while ((el!=null) && (tagList[el.tagName]==null))
el = el.parentElement
return el
}
function lichtband(janee) {
var el = haalelement(event.srcElement,"TD")
if (el==null) return
if ((el.tagName=="TD")) {
var rij = haalelement(el, "TR")
if (janee)
rij.className = "rijover"
else
rij.className = ""
}
}
</script>
<style>
.rijover {background-color:#5B7B8B;color:#FFFFFF;cursor:hand;}
</style>
|
2:menu_vb.php
| Code: |
<html>
<title>menu voorbeeld</title>
<head>
<LINK REL=STYLESHEET TYPE="text/css" HREF="themas/default/default.css">
<style>
.menutitel{
font-family:Tahoma;
font-size:10pt;
font-weight:bold;
color:#FFFFFF;
border-bottom:1px solid #000000;
cursor:hand;
border-left-width:1px;
border-right-width:1px;
border-top-width:1px;
}
.kolhoofd{
font-family:Verdana;
font-size:8pt;
background-color:#5B7B8B;
color:#FFFFFF;
cursor:hand;
border-bottom:1px solid #000000;
border-left 1px solid #000000;
border-right 1px solid #000000;
border-top:1px solid #000000;
letter-spacing: -1px;
}
.kolgeel{
font-family:Verdana;
font-size:8pt;
color:#000000;
background-color:#FFFFEB;
border-bottom:1px solid #000000;
cursor:hand;
border-left-width:1px;
border-right-width:1px;
border-top-width:1px;
letter-spacing: -1px;
}
.kolgroen{
font-family:Verdana;
font-size:8pt;
color:#000000;
background-color:#D2ECD8;
border-bottom:1px solid #000000;
cursor:hand;
border-left-width:1px;
border-right-width:1px;
border-top-width:1px;
letter-spacing: -1px;
}
.kolrood{
font-family:Verdana;
font-size:8pt;
color:#000000;
background-color:#FFECD1;
border-bottom:1px solid #000000;
cursor:hand;
border-left-width:1px;
border-right-width:1px;
border-top-width:1px;
letter-spacing: -1px;
}
.kolblauw{
font-family:Verdana;
font-size:8pt;
color:#000000;
background-color:#BCCCD4;
border-bottom:1px solid #000000;
cursor:hand;
border-left-width:1px;
border-right-width:1px;
border-top-width:1px;
letter-spacing: -1px;
}
.mini{
font-family: Verdana;
border-right:1px solid #000000;
border-bottom:1px solid #000000;
font-size: 10px;
letter-spacing: -1px;
}
</style>
<?php
include ("menu_class.php");
?>
</head>
<body topmargin="10" leftmargin="0" bgcolor="#5B7B8B">
<div align="center">
<table border="0" hight = "16" width = "90%" cellspacing="4"
cellpadding="0" >
<tr>
<td bgcolor="#4F6B79" style="border-left: 1px solid #000000;
border-right-width: 1px; border-top: 1px solid #000000;
border-bottom: 1px solid #000000" colspan="2">
<p align="left"><b><font face="Webdings" size="2" color="#FFFFFF"> 2</font><font
color="#FFFFFF" size="2" face="Verdana">
Tribuun</font></b></td>
</tr>
<tr>
<td width="87" valign="top"> </td>
<td class="subtitel" align="left" valign="top" width="667">
</td>
</tr>
<tr><td width='85' bgcolor='#7893A0' style='border-left:1px solid #FFFFFF;
border-top:1px solid #FFFFFF; border-right-style:solid;
border-right-width:1px; border-bottom-style:solid;
border-bottom-width:1px' valign='top'>
<p align="center">
<b><font face="Webdings" size="2" color="#FFFFFF">8</font></b></td>
<?
$Menu_1 = new menu; // initiatie
$Menu_1->ZetTable("menu"); // tabelnaam in
sqldatabank
$Menu_1->ZetTabelTitel("Administratie","1");// titel van het menu +
menuID voor ophaling uit databank
$Menu_1->ZetRangOrde("ID", "ASC"); // veldnaam + rangorde
$Menu_1->ZetKol("Schakel", ""); // zet de kol[0] +
kolomtitel
$Menu_1->ZetKol("Item",""); // zet de kol[1] +
kolomtitel
$Menu_1->ZetKol("Beschrijving", ""); // zet de kol[2] +
kolomtitel
$Menu_1->ZetKol("Laatste_raad", "LRP"); // zet de kol[3] +
kolomtitel
$Menu_1->ZetKol("Aant_rec", "Aant.rec"); // zet de kol[4] +
kolomtitel
$Menu_1->ZetKol("Nieuw_bericht", "NB"); // zet de kol[5] +
kolomtitel
$Menu_1->ZetKol("Toegang", "?"); // zet de kol[6] +
kolomtitel
$Menu_1->ZetStijl(""); //[0] niet gebruikt
(schakel)
$Menu_1->ZetStijl("class='menutitel'"); //[1]
$Menu_1->ZetStijl("class='kolhoofd'"); //[2]
$Menu_1->ZetStijl("class='kolgeel'"); //[3]
$Menu_1->ZetStijl("class='kolgroen'"); //[4]
$Menu_1->ZetStijl("class='kolrood'"); //[5]
$Menu_1->ZetStijl("class='kolblauw'"); //[6]
$Menu_1->ZetAG_tabel("align='left' valign='top' width='580' bgcolor='#638697'");
$Menu_1->ZetAG_td("bgcolor='#638697'");
$Menu_1->MaakHtml(); // geef de records weer
?>
<tr>
<td width="87"> </td>
<td class="subtitel" align="left" valign="top" width="667">
</td>
</tr>
<tr><td width="85" bgcolor="#7893A0" style="border: 1px solid #FFFFFF"
valign="top">
<p align="center"><b><font face="Webdings" size="2" color="#FFFFFF">8</font></b></td>
<?
$Menu_2 = new menu; // initiatie
$Menu_2->ZetTable("menu"); // tabelnaam in
sqldatabank
$Menu_2->ZetTabelTitel("Afdeling Verkopen","2");// titel van het
menu + menuID voor ophaling uit databank
$Menu_2->ZetRangOrde("ID", "ASC"); // veldnaam + rangorde
$Menu_2->ZetKol("Schakel", ""); // zet de kol[0] +
kolomtitel
$Menu_2->ZetKol("Item",""); // zet de kol[1] +
kolomtitel
$Menu_2->ZetKol("Beschrijving", ""); // zet de kol[2] +
kolomtitel
$Menu_2->ZetKol("Laatste_raad", "LRP"); // zet de kol[3] +
kolomtitel
$Menu_2->ZetKol("Aant_rec", "AR"); // zet de kol[4] +
kolomtitel
$Menu_2->ZetKol("Nieuw_bericht", "NB"); // zet de kol[5] +
kolomtitel
$Menu_2->ZetKol("Toegang", "?"); // zet de kol[6] +
kolomtitel
$Menu_2->ZetStijl(""); //[0] niet gebruikt
(schakel)
$Menu_2->ZetStijl("class='menutitel'"); //[1]
$Menu_2->ZetStijl("class='kolhoofd'"); //[2]
$Menu_2->ZetStijl("class='mini'"); //[3]
$Menu_2->ZetStijl("class='mini'"); //[4]
$Menu_2->ZetStijl("class='mini'"); //[5]
$Menu_2->ZetStijl("class='kolblauw'"); //[6]
$Menu_2->ZetAG_tabel("align='left' valign='top' width='580' bgcolor='#638697'");
$Menu_2->ZetAG_td("bgcolor='#638697'");
$Menu_2->MaakHtml(); // geef de records weer
?>
<tr>
<td width="87"> </td>
<td class="subtitel" align="left" valign="top" width="667">
</td>
</tr>
</table>
</div>
<blockquote>
<p><u><font color="#FFFFFF" face="Verdana" size="1">OntwerpInfo</font></u></p>
<p></dt><font size="1" face="Verdana" color="#FFFFFF">Algemeen:</font></p>
<menu>
<li><font face="Verdana" size="1" color="#FFFFFF">Basisblad
werd
aangemaakt als htm</font></li>
<li><font face="Verdana" size="1" color="#FFFFFF">opgeslagen
als php</font></li>
<li><font face="Verdana" size="1" color="#FFFFFF">de php class
[bestand
: menu_class php] werd ingelast [ include...]</font></li>
<li><font face="Verdana" size="1" color="#FFFFFF">De php-class
aanroep
werd toegepast op de voorziene cellen [td onclick expand]</font></li>
<li><font color="#FFFFFF" face="Verdana" size="1">Het
basisblad blijft
in ontwerpmodus steeds toegankelijk voor dessign of andere
modificaties.</font></li>
</menu>
<p><font color="#FFFFFF" face="Verdana" size="1">Kolombreedte
eerste item :
</font></p>
<blockquote>
<dl>
<dt><font face="Verdana" size="1" color="#FFFFFF">Schakellocatie
wordt bepaald in MySql tabel [menu item:schakel]</font></dt>
<dt><font color="#FFFFFF" face="Verdana" size="1">width=150
[Zie
bestand : menu_class.php] Voor langere items :
vergroten.[Dit om te
vermijden dat de rest van de kolommen mee gaat verspringen
bij muis-over].</font></dt>
</dl>
</blockquote>
</blockquote>
</html>
|
Demo
http://www.tribuun.com/Kantoren/projectdemo/mod_menu/menu_vb.php
Tabelstructuur van het voorbeeld
| Code: |
# phpMyAdmin MySQL-Dump
# version 2.3.0
# http://phpwizard.net/phpMyAdmin/
# http://www.phpmyadmin.net/ (download page)
#
# Host: localhost
# Generatie Tijd: Jul 2004 om 17:33
# Server versie: 4.00.15
# PHP Versie: 4.3.7
# Database : `test`
# --------------------------------------------------------
#
# Tabel structuur voor tabel `menu`
#
CREATE TABLE menu (
ID int(11) NOT NULL auto_increment,
Item varchar(100) NOT NULL default '',
Schakel varchar(150) NOT NULL default '',
Beschrijving tinytext NOT NULL,
Laatste_raad date NOT NULL default '0000-00-00',
Aant_rec int(11) NOT NULL default '0',
Nieuw_bericht char(1) NOT NULL default '',
Toegang char(1) NOT NULL default '',
Menu_id int(11) NOT NULL default '0',
PRIMARY KEY (ID)
) TYPE=MyISAM;
#
# Gegevens worden uitgevoerd voor tabel `menu`
#
INSERT INTO menu VALUES (1, 'Administratie', '', '', '0000-00-00',
0, '', '', 1);
INSERT INTO menu VALUES (2, 'Personeel', 'adm_pers.php', 'Adressen<br>\r\nInformatiekaart',
'2004-07-15', 12, '0', '1', 1);
INSERT INTO menu VALUES (3, 'Adm.Diensten', 'adm_diensten.php',
'Adressenlijst<br>\r\nMap correspondentie\r\n', '2004-07-12', 10,
'1', '1', 1);
INSERT INTO menu VALUES (4, 'Lonen en wedden', 'adm_LonenWedden.php',
'Detail<br>\r\nTotalen<br>\r\nVacantiegeld', '2004-07-12', 15, '0',
'1', 1);
INSERT INTO menu VALUES (5, 'Verkopen', '', '', '0000-00-00', 0, '',
'', 2);
INSERT INTO menu VALUES (6, 'Klanten', 'klanten.php',
'Klantenbestand\r\nBestellingen\r\nBriefwisseling', '2004-07-12',
10, '0', '1', 2);
INSERT INTO menu VALUES (7, 'Bestellingen', 'leveringen.php',
'Leveringsagenda\r\nTransportinfo', '2004-07-12', 16, '0', '1', 2);
|
|