Inleiding:
Ik ben met een registratie systeem bezig, wat aardig maatwerk is.
Ik wil dit goed doen, om als dit in de toekomst vaker voorkomt, sneller op te pakken, en niet te hoeven klooien.
Maar k loop tegen 1 probleem aan,
ik heb mijn systeem als volgt ingedeelt:
index.php - > class.php -> template.tpl
in de index.php, wordt alleen gedefineert welke tabel met welke kolommen van toepassing zijn, en deze worden in de class verwerkt. waarna ze technische gezien in de template gevult wordt.
Probleem:
Allen nu heb ik het volgende probleem.
Als ik de waardes opgeef om deze op te halen uit de database, wat prima verloopt, waarna deze gekoppeld worden aan verschillende parameters die ik gedefineert heb voor de template zowel in de index als in de template.
Dit verloopt zover vlekkeloos, alleen het enige probleem is dat ik geen goede result daar uitkrijg, het lijkt wel of er geen goede array output is.
Helaas stopt mijn kennis hier, en post ik dit bericht.
Voorbeeld van de index.php, en class.php
index.php
class.php
Het belangrijkste speelt denk ik binnen class.php, ik had namelijk gedacht, als je toch al de definitie voor de cellen binnen een databasetabel neemt, dan kunnen deze ook binnen de template gebruikt worden.
Alleen ik kan die niet goed koppelen, in dit voorbeeld heb ik het geprobeert alleen daar komt nu een hele reeks in een keer achter elkaar te staan.
Terwijl dit eigelijk een reeks kolommen moet zijn.
Eigelijk wil ik zelfs al dat de template gedefineerd wordt in de class, maar ik weet zelfs niet eens waar je dan moet beginnen met koppelen, en natuurlijk of dat verstandig is.
Zodat er een mogelijkhied onstaat alleen in de index een output genereren die dan door worden gegevem aan de tempate.
Het is een erg lange post met voor mij een gecomliceerde vraag, maar ik hoop dat iemand zegt, kijk die help ik even, want ik kom er niet zo goed meer uit.
En ik zou het prachtig vinden al komen er nieuwe ideenen of goede suggesties uit.
T.net alvast bedankt
Ik ben met een registratie systeem bezig, wat aardig maatwerk is.
Ik wil dit goed doen, om als dit in de toekomst vaker voorkomt, sneller op te pakken, en niet te hoeven klooien.
Maar k loop tegen 1 probleem aan,
ik heb mijn systeem als volgt ingedeelt:
index.php - > class.php -> template.tpl
in de index.php, wordt alleen gedefineert welke tabel met welke kolommen van toepassing zijn, en deze worden in de class verwerkt. waarna ze technische gezien in de template gevult wordt.
Probleem:
Allen nu heb ik het volgende probleem.
Als ik de waardes opgeef om deze op te halen uit de database, wat prima verloopt, waarna deze gekoppeld worden aan verschillende parameters die ik gedefineert heb voor de template zowel in de index als in de template.
Dit verloopt zover vlekkeloos, alleen het enige probleem is dat ik geen goede result daar uitkrijg, het lijkt wel of er geen goede array output is.
Helaas stopt mijn kennis hier, en post ik dit bericht.
Voorbeeld van de index.php, en class.php
index.php
PHP:
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| <? /* == index.php == */ /* == include de files == */ include("class/mysql.inc.php"); // de mysql gegevens include("class/class.pgnav.php"); // de class include("class/class.TemplatePower.inc.php"); //--------------------------------------------------------------------------- /* Tempates verwerken */ //Maak een template object. $tpl = new TemplatePower( "templates/index.tpl" ); //Extra template erin plaatsen. $tpl->assignInclude( "body", "templates/CRM_list.tpl" ); //Template parsen. $tpl->prepare(); //--------------------------------------------------------------------------- $PaginaNav = new pgNav; $PaginaNav->setTable("klanten"); // tabel vaststellen $PaginaNav->setOrder("id", "ASC"); // veldnaam + order volgorde (moet ASC of DESC zijn) $PaginaNav->setMain("id"); // set de hoofdrecord $PaginaNav->setSub("id", "ID:"); $records = $PaginaNav->printRecords(); $tpl->newBlock("crm_list"); $tpl->assign("klantid" , $records->id); $tpl->printToScreen(); ?> |
class.php
PHP:
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
| <?php class pgNav { var $tabel; var $orderField; var $orderRange; var $mainRecord; var $subRecords = array(); var $subTitles = array(); var $max = 50; var $totalPages; var $page; function pgNav() { global $_GET; $this->page = (isset($_GET["page"])) ? $_GET["page"] : 1; // als er geen pagina opgevraagd word, pagina 1 pakken } /* == set de tabel waaruit de navigatie moet komen == */ function setTable($tabel) { $this->tabel = $tabel; } /* == set de orderveld en volgorder == */ function setOrder($veld, $volgorde) { $this->orderField = $veld; $this->orderRange = $volgorde; } /* == main record vaststellen == */ function setMain($veld) { $this->mainRecord = $veld; } /* == subRecords vaststellen in array's == */ function setSub($veld, $omschrijving) { $this->subRecords[] = $veld; $this->subTitles[] = $omschrijving; } /* == laat de records zien == */ function printRecords() { $showRecords = ($this->page * $this->max) - $this->max; $query = "SELECT * FROM $this->tabel ORDER BY $this->orderField $this->orderRange LIMIT $showRecords, $this->max"; $sql = mysql_query($query) or die(mysql_error()); // de records ophalen while($row = mysql_fetch_object($sql)) { $mainrecord = $this->mainRecord; for($i = 0; $i < count($this->subRecords); $i++ ) { // print de subrecords $subrecord = $this->subRecords[$i]; $this->$subrecord .= $row->$subrecord; } } return $this; } } ?> |
Het belangrijkste speelt denk ik binnen class.php, ik had namelijk gedacht, als je toch al de definitie voor de cellen binnen een databasetabel neemt, dan kunnen deze ook binnen de template gebruikt worden.
Alleen ik kan die niet goed koppelen, in dit voorbeeld heb ik het geprobeert alleen daar komt nu een hele reeks in een keer achter elkaar te staan.
Terwijl dit eigelijk een reeks kolommen moet zijn.
Eigelijk wil ik zelfs al dat de template gedefineerd wordt in de class, maar ik weet zelfs niet eens waar je dan moet beginnen met koppelen, en natuurlijk of dat verstandig is.
Zodat er een mogelijkhied onstaat alleen in de index een output genereren die dan door worden gegevem aan de tempate.
Het is een erg lange post met voor mij een gecomliceerde vraag, maar ik hoop dat iemand zegt, kijk die help ik even, want ik kom er niet zo goed meer uit.
En ik zou het prachtig vinden al komen er nieuwe ideenen of goede suggesties uit.
T.net alvast bedankt