Oop, Templatepower en PaginaSysteem is fout?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jefffrey

Jefffrey

07/06/2007 09:41:00
Quote Anchor link
dit is echt een vreemde fout. Kijk zelf maar wat je krijgt: http://jeffro.no-ip.info/webshop/articlesv2.php

Het gaat om de .paginanummer.

code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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";
}
    }
  }

?>



<!-- 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
 
PHP hulp

PHP hulp

23/04/2024 12:43:35
 
Jacco Engel

Jacco Engel

07/06/2007 09:52:00
Quote Anchor link
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");
}


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
 
Jacco Engel

Jacco Engel

07/06/2007 09:53:00
Quote Anchor link
Wat ik bij ".$number." heb gedaan zou ook voor max en start kunnen gelden
 
Jefffrey

Jefffrey

07/06/2007 09:54:00
Quote Anchor link
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
 
Jefffrey

Jefffrey

07/06/2007 09:58:00
Quote Anchor link
Dat is het vreemde doet het nog steeds niet :S
 
Jacco Engel

Jacco Engel

07/06/2007 09:58:00
Quote Anchor link
Heb je bij start en max ook de . ervoor en er achter weg gehaald (Nee dat heb je niet ;)). Probeer het dan nog eens.

En zet even bovin je index :
error_reporting(E_ALL) ;
 
Jefffrey

Jefffrey

07/06/2007 09:58:00
Quote Anchor link
Notice: Undefined index: max in D:\wamped\www\Webshop\include\class.inc.php on line 7

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
 
Jacco Engel

Jacco Engel

07/06/2007 10:01:00
Quote Anchor link
Zag het al :)

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
 
Jefffrey

Jefffrey

07/06/2007 10:31:00
Quote Anchor link
Het klopt niet want ik zie pagina 1 niet en als je op 2 klikt heeft het geen effect....
 
Jacco Engel

Jacco Engel

07/06/2007 10:33:00
Quote Anchor link
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)
 
Jefffrey

Jefffrey

07/06/2007 10:37:00
Quote Anchor link
ja maar heel previous en 1-2 en next doen het niet...
 
Jacco Engel

Jacco Engel

07/06/2007 10:39:00
Quote Anchor link
2 doet het bij mij gewoon :)

Zal eerst even naar je errors/notices kijken. Nette code is een must voor debuggen
 
Jefffrey

Jefffrey

07/06/2007 10:42:00
Quote Anchor link
ja maar je kan niet naar 1 next page werkt ook niet enzo echt weird
en ja ik moet idd netter coderen.
 
Jacco Engel

Jacco Engel

07/06/2007 10:47:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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";
}
    }
  }

?>


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
 
Jefffrey

Jefffrey

07/06/2007 10:51:00
Quote Anchor link
nog steeds werkt ie niet :S beetje vreemd.

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.
 
Jacco Engel

Jacco Engel

07/06/2007 10:55:00
Quote Anchor link
Hij is nu E_ALL valid :) Dat is een goed bassis om te debuggen.

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 :)
 
Martijn Wieringa

Martijn Wieringa

07/06/2007 11:05:00
Quote Anchor link
Ik debug voor voor 15,- p/u :P
 
Jacco Engel

Jacco Engel

07/06/2007 11:07:00
Quote Anchor link
Ik ook maar veel meer werk zal het ook niet wezen :P
 
- wes  -

- wes -

07/06/2007 11:12:00
Quote Anchor link
15 p/u flame ik nog niet eens iemand voor om zn slechte code :))
 
Jacco Engel

Jacco Engel

07/06/2007 11:18:00
Quote Anchor link
Dan moet jij wel een beste berg geld verdienen want je doet bijna niet anders :P
 
Jefffrey

Jefffrey

07/06/2007 11:19:00
Quote Anchor link
Lol ik moet ook debuuger worden xD
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 :(
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.