Oop, Templatepower en PaginaSysteem is fout?
http://jeffro.no-ip.info/webshop/articlesv2.php
Het gaat om de .paginanummer.
code:
<!-- START BLOCK : error -->
<p>Onbekende fout opgetreden</p>
<!-- END BLOCK : error -->
<!-- START BLOCK : articledisplay -->
<!-- START BLOCK : articles -->
<TABLE>
<tr>
<td><img width=150 height=150 src='{picture}' border='0' align='left' title='' alt='{description}' style='border:0px solid black;'><br></td>
<td><br><br><b>Genre:</b> {gname}<br>
<b>Article name:</b> {name}<br>
<b>Article description:</b> {description}<BR><BR></td>
</tr>
</TABLE>
<!-- END BLOCK : articles -->
<p>
<!-- START BLOCK : previous -->
[<a href="{phpself}?start={prev}&max={max}">Previous</a>]
<!-- END BLOCK : previous -->
<!-- START BLOCK : previous2 -->
[Previous]
<!-- END BLOCK : previous2 -->
<!-- START BLOCK : numbers -->
<strong>[<a href="{phpself}?start={start}&max={max}">{number}</a>]</strong>
<!-- END BLOCK : numbers -->
<!-- START BLOCK : numbers2 -->
<a href="{phpself}?start={start}&max={$max}">{number}</a>
<!-- END BLOCK : numbers2 -->
<!-- START BLOCK : next -->
[<a href="{phpself}?start={next}&max={max}">Next</a>]
<!-- END BLOCK : next -->
<!-- START BLOCK : next2 -->
[Next]
<!-- END BLOCK : next2 -->
<!-- END BLOCK : articledisplay -->
dit is echt een vreemde fout. Kijk zelf maar wat je krijgt: Het gaat om de .paginanummer.
code:
Code (php)
1
2
3
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
2
3
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 Webshop {
function Articledisplay(){
global $tpl;
$tpl->newBlock("articledisplay");
if(is_numeric($_GET['max'])) $max = $_GET['max'];
if(is_numeric($_GET['start'])) $start = $_GET['start'];
if (empty($max)) $max = 5;
if (empty($start)) $start = 0;
$end = $start + $max;
$prev = $start - $max;
$next = $end;
$query = mysql_query("SELECT * FROM Articles, Genres WHERE Articles.GenreID = Genres.GenreID ORDER BY Articles.Name DESC LIMIT $max OFFSET $start") or die (mysql_error());
$num = mysql_num_rows($query);
if (empty($num))
{
$tpl->newBlock("error");
}
else
{
while ($Rij = mysql_fetch_array($query)){
{
$tpl->assign(array("picture" => "$Rij[Picture]","description" => "$Rij[Description]","gname" => "$Rij[Gname]","name" => "$Rij[Name]"));
$tpl->newBlock("articles");
}
echo ("");
}
if ($prev >= '0')
{
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => "$max"));
$tpl->newBlock("previous");
} else {
$tpl->newBlock("previous2");
}
$count = mysql_fetch_row(mysql_query("SELECT count(*) FROM Articles"));
$thispage = ceil($start/$max+1);
if ($count[0] > $max)
{
$total = ceil($count[0]/$max);
for($i=0;$i<$total;$i++)
{
$number = $i+1;
$start = $i*$max;
if ($thispage == $number)
{
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => ".$max.","start" => ".$start.","number" => ".$number."));
$tpl->newBlock("numbers");
} else {
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => ".$max.","start" => ".$start.","number" => ".$number."));
$tpl->newBlock("numbers2");
}
}
}
if ($count[0] > $next)
{
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => "$max"));
$tpl->newBlock("next");
} else {
$tpl->newBlock("next2 ");
}
echo "</p>\n";
}
}
}
?>
CLASS Webshop {
function Articledisplay(){
global $tpl;
$tpl->newBlock("articledisplay");
if(is_numeric($_GET['max'])) $max = $_GET['max'];
if(is_numeric($_GET['start'])) $start = $_GET['start'];
if (empty($max)) $max = 5;
if (empty($start)) $start = 0;
$end = $start + $max;
$prev = $start - $max;
$next = $end;
$query = mysql_query("SELECT * FROM Articles, Genres WHERE Articles.GenreID = Genres.GenreID ORDER BY Articles.Name DESC LIMIT $max OFFSET $start") or die (mysql_error());
$num = mysql_num_rows($query);
if (empty($num))
{
$tpl->newBlock("error");
}
else
{
while ($Rij = mysql_fetch_array($query)){
{
$tpl->assign(array("picture" => "$Rij[Picture]","description" => "$Rij[Description]","gname" => "$Rij[Gname]","name" => "$Rij[Name]"));
$tpl->newBlock("articles");
}
echo ("");
}
if ($prev >= '0')
{
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => "$max"));
$tpl->newBlock("previous");
} else {
$tpl->newBlock("previous2");
}
$count = mysql_fetch_row(mysql_query("SELECT count(*) FROM Articles"));
$thispage = ceil($start/$max+1);
if ($count[0] > $max)
{
$total = ceil($count[0]/$max);
for($i=0;$i<$total;$i++)
{
$number = $i+1;
$start = $i*$max;
if ($thispage == $number)
{
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => ".$max.","start" => ".$start.","number" => ".$number."));
$tpl->newBlock("numbers");
} else {
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => ".$max.","start" => ".$start.","number" => ".$number."));
$tpl->newBlock("numbers2");
}
}
}
if ($count[0] > $next)
{
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => "$max"));
$tpl->newBlock("next");
} else {
$tpl->newBlock("next2 ");
}
echo "</p>\n";
}
}
}
?>
<!-- START BLOCK : error -->
<p>Onbekende fout opgetreden</p>
<!-- END BLOCK : error -->
<!-- START BLOCK : articledisplay -->
<!-- START BLOCK : articles -->
<TABLE>
<tr>
<td><img width=150 height=150 src='{picture}' border='0' align='left' title='' alt='{description}' style='border:0px solid black;'><br></td>
<td><br><br><b>Genre:</b> {gname}<br>
<b>Article name:</b> {name}<br>
<b>Article description:</b> {description}<BR><BR></td>
</tr>
</TABLE>
<!-- END BLOCK : articles -->
<p>
<!-- START BLOCK : previous -->
[<a href="{phpself}?start={prev}&max={max}">Previous</a>]
<!-- END BLOCK : previous -->
<!-- START BLOCK : previous2 -->
[Previous]
<!-- END BLOCK : previous2 -->
<!-- START BLOCK : numbers -->
<strong>[<a href="{phpself}?start={start}&max={max}">{number}</a>]</strong>
<!-- END BLOCK : numbers -->
<!-- START BLOCK : numbers2 -->
<a href="{phpself}?start={start}&max={$max}">{number}</a>
<!-- END BLOCK : numbers2 -->
<!-- START BLOCK : next -->
[<a href="{phpself}?start={next}&max={max}">Next</a>]
<!-- END BLOCK : next -->
<!-- START BLOCK : next2 -->
[Next]
<!-- END BLOCK : next2 -->
<!-- END BLOCK : articledisplay -->
Gewijzigd op 01/01/1970 01:00:00 door Jefffrey
{
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => ".$max.","start" => ".$start.","number" => ".$number."));
$tpl->newBlock("numbers");
} else {
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => ".$max.","start" => ".$start.","number" => ".$number."));
$tpl->newBlock("numbers2");
}
Aanpassen naar
if ($thispage == $number)
{
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => ".$max.","start" => ".$start.","number" => "$number"));
$tpl->newBlock("numbers");
} else {
$tpl->assign(array("phpself" => "$PHP_SELF","prev" => "$prev","max" => ".$max.","start" => ".$start.","number" => "$number"));
$tpl->newBlock("numbers2");
}
regel 44 tot en met 51 van het geposte block code.
PS: Ben geen wandelende debugger en dit had je zelf ook kunnen bedenken
Wat ik bij ".$number." heb gedaan zou ook voor max en start kunnen gelden
ja nu doet hij het nog niet goed. Sinds ik dit in tpl heb omgezet werkt het niet niet meer goed. Nu laat ie niet alles paginas goed zien
Dat is het vreemde doet het nog steeds niet :S
En zet even bovin je index :
error_reporting(E_ALL) ;
Notice: Undefined index: start in D:\wamped\www\Webshop\include\class.inc.php on line 8
Notice: Undefined variable: PHP_SELF in D:\wamped\www\Webshop\include\class.inc.php on line 47
Notice: Undefined variable: PHP_SELF in D:\wamped\www\Webshop\include\class.inc.php on line 50
Notice: Undefined variable: PHP_SELF in D:\wamped\www\Webshop\include\class.inc.php on line 57
Maar zoals je ziet werkt het nu gewoon als je op de 2 klikt. Verder voor de meeste van die notices kan ik je doorverwijzen naar :
Simpele Vragen, Simpele antwoorden
Alles wat je naar het lezen van deze tut niet weg krijgt zal ik naar kijken en uitleggen (als het echt neit in de tut staat)
Hoop dat je iets aan mijn reactie hebt
Groetjes en Programmeerze,
Jacco
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
Het klopt niet want ik zie pagina 1 niet en als je op 2 klikt heeft het geen effect....
Druk even op ctrl+r (denk dat hij je pagina uit de cache haalt :)) bij mij doet hij namelijk wel iets (ok niet perfect) maar het werkt (gedeeltelijk)
ja maar heel previous en 1-2 en next doen het niet...
Zal eerst even naar je errors/notices kijken. Nette code is een must voor debuggen
en ja ik moet idd netter coderen.
Code (php)
1
2
3
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
2
3
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 Webshop {
function Articledisplay(){
global $tpl;
$tpl->newBlock("articledisplay");
if(isset($_GET["max"]) && is_numeric($_GET['max'])) $max = $_GET['max'];
if(isset($_GET["start"]) && is_numeric($_GET['start'])) $start = $_GET['start'];
if (empty($max)) $max = 5;
if (empty($start)) $start = 0;
$end = $start + $max;
$prev = $start - $max;
$next = $end;
$query = mysql_query("SELECT * FROM Articles, Genres WHERE Articles.GenreID = Genres.GenreID ORDER BY Articles.Name DESC LIMIT $max OFFSET $start") or die (mysql_error());
$num = mysql_num_rows($query);
if (empty($num))
{
$tpl->newBlock("error");
}
else
{
while ($Rij = mysql_fetch_array($query)){
{
$tpl->assign(array("picture" => "$Rij[Picture]","description" => "$Rij[Description]","gname" => "$Rij[Gname]","name" => "$Rij[Name]"));
$tpl->newBlock("articles");
}
echo ("");
}
if ($prev >= '0')
{
$tpl->assign(array("phpself" => "$_SERVER[PHP_SELF]","prev" => "$prev","max" => "$max"));
$tpl->newBlock("previous");
} else {
$tpl->newBlock("previous2");
}
$count = mysql_fetch_row(mysql_query("SELECT count(*) FROM Articles"));
$thispage = ceil($start/$max+1);
if ($count[0] > $max)
{
$total = ceil($count[0]/$max);
for($i=0;$i<$total;$i++)
{
$number = $i+1;
$start = $i*$max;
if ($thispage == $number)
{
$tpl->assign(array("phpself" => "$_SERVER[PHP_SELF]","prev" => "$prev","max" => "$max","start" => "$start","number" => "$number"));
$tpl->newBlock("numbers");
} else {
$tpl->assign(array("phpself" => "$_SERVER[PHP_SELF]","prev" => "$prev","max" => "$max","start" => "$start","number" => "$number"));
$tpl->newBlock("numbers2");
}
}
}
if ($count[0] > $next)
{
$tpl->assign(array("phpself" => "$_SERVER[PHP_SELF]","prev" => "$prev","max" => "$max"));
$tpl->newBlock("next");
} else {
$tpl->newBlock("next2");
}
echo "</p>\n";
}
}
}
?>
CLASS Webshop {
function Articledisplay(){
global $tpl;
$tpl->newBlock("articledisplay");
if(isset($_GET["max"]) && is_numeric($_GET['max'])) $max = $_GET['max'];
if(isset($_GET["start"]) && is_numeric($_GET['start'])) $start = $_GET['start'];
if (empty($max)) $max = 5;
if (empty($start)) $start = 0;
$end = $start + $max;
$prev = $start - $max;
$next = $end;
$query = mysql_query("SELECT * FROM Articles, Genres WHERE Articles.GenreID = Genres.GenreID ORDER BY Articles.Name DESC LIMIT $max OFFSET $start") or die (mysql_error());
$num = mysql_num_rows($query);
if (empty($num))
{
$tpl->newBlock("error");
}
else
{
while ($Rij = mysql_fetch_array($query)){
{
$tpl->assign(array("picture" => "$Rij[Picture]","description" => "$Rij[Description]","gname" => "$Rij[Gname]","name" => "$Rij[Name]"));
$tpl->newBlock("articles");
}
echo ("");
}
if ($prev >= '0')
{
$tpl->assign(array("phpself" => "$_SERVER[PHP_SELF]","prev" => "$prev","max" => "$max"));
$tpl->newBlock("previous");
} else {
$tpl->newBlock("previous2");
}
$count = mysql_fetch_row(mysql_query("SELECT count(*) FROM Articles"));
$thispage = ceil($start/$max+1);
if ($count[0] > $max)
{
$total = ceil($count[0]/$max);
for($i=0;$i<$total;$i++)
{
$number = $i+1;
$start = $i*$max;
if ($thispage == $number)
{
$tpl->assign(array("phpself" => "$_SERVER[PHP_SELF]","prev" => "$prev","max" => "$max","start" => "$start","number" => "$number"));
$tpl->newBlock("numbers");
} else {
$tpl->assign(array("phpself" => "$_SERVER[PHP_SELF]","prev" => "$prev","max" => "$max","start" => "$start","number" => "$number"));
$tpl->newBlock("numbers2");
}
}
}
if ($count[0] > $next)
{
$tpl->assign(array("phpself" => "$_SERVER[PHP_SELF]","prev" => "$prev","max" => "$max"));
$tpl->newBlock("next");
} else {
$tpl->newBlock("next2");
}
echo "</p>\n";
}
}
}
?>
Je nieuwe , e_all valid, class (volgens mij e_all valid altans :P)
PS: Netjes is weer een ander verhaal maar als jij er zo mee kan werken dan prima :)
PS : PS : ETRNAL GRATITUDE WILL BE MINE :P
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
Let btw niet op template :P net ff geintegreerd. Maar waarom doet ie ut niet vraag ik me af. sinds in tpl gebruik doetie ut niet meer.
Stoomcursus debuggen :
1. Wat moet het script doen
2. Tot waar doet hij wat hij moet doen :)
Ofterwijl : ga stap voor stap na wat er moet gebeuren. Echo de output om te kijken wat hij moet zijn.
Is dit niet het geval : Fout zit er voor
Is dit wel het geval : Fout zit er na
PS: This is as far as i go. Ik wil het best volledig voor je debuggen voor 15 euro. Dan ga ik niet uitbreiden alleen debuggen. Maar daar moet je me dan maar voor PM-en :)
Ik debug voor voor 15,- p/u :P
Ik ook maar veel meer werk zal het ook niet wezen :P
15 p/u flame ik nog niet eens iemand voor om zn slechte code :))
Dan moet jij wel een beste berg geld verdienen want je doet bijna niet anders :P
Verdien je lekker geld mee :P maar als ik de paginanummer laat echoen in de php zie je ze (bovenaan) Maar als ik ze naar tpl omzet dan gaat ie neit werken :(