Reacties op het script Navigatie Class
|
Gepost op: 20 mei 2007 - 13:07 |
|
|
|
Nieuw lid
|
Spijtig dat het nog in php4 gescript is
Edit:
Ik had ff niet gelet op private, ik had gwn function Navigatie gezien wat eerder in php4 gebruikt wordt. |
|
|
|
Gepost op: 20 mei 2007 - 19:57 |
|
|
|
Beheerder
|
Citaat: Spijtig dat het nog in php4 gescript is
Misschien kan je beter een php cursus volgen. Want Gizmo maakt gebruik van 'private' en dat word pas echt vanaf PHP 5 pas ondersteund.
In php 4 doe je namelijk
<?php
class Foo {
var $foo_var;
}
<?php class Foo { var $foo_var; }
@Gizmo
Misschien kan je deze functie
<?php
/**
* @function: Constructor: zet de variabelen goed
* @param: $tabel: de tabel waaruit de waardes straks worden weergegeven
* $items_per_pagina: het aantal items dat op een pagina getoond moet worden
*/
public function Navigatie($tabel, $items_per_pagina)
{
$this->tabel = $tabel;
$this->items_per_pagina = $items_per_pagina;
$this->aantal_paginas = $this->count_paginas();
$this->huidig = $this->get_huidig();
$this->offset = $this->get_offset();
}
?>
<?php /** * @function: Constructor: zet de variabelen goed * @param: $tabel: de tabel waaruit de waardes straks worden weergegeven * $items_per_pagina: het aantal items dat op een pagina getoond moet worden */ public function Navigatie($tabel, $items_per_pagina) { $this->tabel = $tabel; $this->items_per_pagina = $items_per_pagina; $this->aantal_paginas = $this->count_paginas(); $this->huidig = $this->get_huidig(); $this->offset = $this->get_offset(); } ?>
vervangen door
<?php
/**
* @function: Constructor: zet de variabelen goed
* @param: $tabel: de tabel waaruit de waardes straks worden weergegeven
* $items_per_pagina: het aantal items dat op een pagina getoond moet worden
*/
public function __construct($tabel, $items_per_pagina)
{
$this->tabel = $tabel;
$this->items_per_pagina = $items_per_pagina;
$this->aantal_paginas = $this->count_paginas();
$this->huidig = $this->get_huidig();
$this->offset = $this->get_offset();
}
?>
<?php /** * @function: Constructor: zet de variabelen goed * @param: $tabel: de tabel waaruit de waardes straks worden weergegeven * $items_per_pagina: het aantal items dat op een pagina getoond moet worden */ public function __construct($tabel, $items_per_pagina) { $this->tabel = $tabel; $this->items_per_pagina = $items_per_pagina; $this->aantal_paginas = $this->count_paginas(); $this->huidig = $this->get_huidig(); $this->offset = $this->get_offset(); } ?>
Maar op dit moment kan beide manier nog om een constructor aan te geven.
Ook zou je er misschien goed aan doen om de GET variabele die nu nog 'p' genoemd word ook een klasse variabele van te maken. Dus dat je niet $_GET['p'] maar $_GET[$this->getvar] krijgt.
Je maakt gebruik van PHP_SELF. Maar wat nu als mensen meerdere GET variabelen in hun link hebben staan. Dus bijvoorbeeld:
index.php?route=nieuws&p=1
in jouw script word dit index.php?p=1
Misschien nog even naar bovenstaande puntjes kijken. Verder is hij wel goed |
|
|
|
Gepost op: 20 mei 2007 - 23:50 |
|
|
|
HTML beginner
|
Ik geef de naam van de constructor altijd de naam van de klasse; dit komt omdat ik normaal gesproken programmeer in C#. Maar voor PHP kun je inderdaad misschien beter __construct gebruiken.
Citaat: [I][B]marten[/B] schreef op 20 mei 2007 - 19:57[/I]
Ook zou je er misschien goed aan doen om de GET variabele die nu nog 'p' genoemd word ook een klasse variabele van te maken. Dus dat je niet $_GET['p'] maar $_GET[$this->getvar] krijgt.
Je maakt gebruik van PHP_SELF. Maar wat nu als mensen meerdere GET variabelen in hun link hebben staan. Dus bijvoorbeeld:
index.php?route=nieuws&p=1
in jouw script word dit index.php?p=1
Bij het bepalen op welke pagina hij is gebruik ik inderdaad nog gewoon $_GET["p"], maar voor het maken van de links gebruik ik een aparte functie:
Dit probleem was ik zelf namelijk ook al tegengekomen omdat ik index.php?pagina=pagina gebruik . Door deze methode gaan de overige $_GET variabelen niet verloren als je naar een andere pagina gaat, want zoals je ziet wordt de link als volgt gemaakt:
<?php
$q = $_SERVER['PHP_SELF'].$this->querystring("p");
if ($this->huidig > 0)
{
$out .= " <a href='".$q."p=".($this->huidig - 1)."'>Vorige</a> ";
}
?>
<?php $q = $_SERVER['PHP_SELF'].$this->querystring("p"); if ($this->huidig > 0) { $out .= " <a href='".$q."p=".($this->huidig - 1)."'>Vorige</a> "; } ?>
|
|
|
|
Gepost op: 23 mei 2007 - 13:24 |
|
|
|
Moderator
|
Wellicht wil je volgende keer ook credits geven. Dit script is een haast letterlijke copy-paste van deze tutorial, met OOP-saus. |
|
|
|
Gepost op: 23 mei 2007 - 16:11 |
|
|
|
PHP expert
|
Citaat: [I][B]FangorN[/B] schreef op 23 mei 2007 - 13:24[/I]
Wellicht wil je volgende keer ook credits geven. Dit script is een haast letterlijke copy-paste van deze tutorial, met OOP-saus. @Gizmo: zet een verwijzing in je script naar de tutorial waar jij je informatie/stukken code hebt gehaalt of verander de auteur in FangorN, want dit is namelijk zijn code. |
|
|
|
Gepost op: 24 mei 2007 - 23:52 |
|
|
|
HTML beginner
|
Sorry, sorry, had ik helemaal niet meer bij nagedacht. Jullie hebben helemaal gelijk, ik heb het er meteen bijgezet. Mijn excuses hiervoor. |
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|