Blätterfunktion will nicht ...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Blätterfunktion will nicht ...

    Habe eine Blätterfunktion mit der man durch DB Einträge blättern kann, für meine Bedürfnisse anzupassen versucht.
    Ich benutze die Smarty Template.

    Hier ist die Funktion:

    PHP-Code:
       function pageFlip($table$perpage 5)
       {
          
    $pagenum $_GET['pagenum'];
          if(!isset(
    $pagenum) || $pagenum == || empty($pagenum))
          {
             
    $pagenum 1;
          }
          
          
    $limitlower = ($pagenum-1) * $perpage 1;
          
    $limitupper $pagenum $perpage;
          
    $r_sql_hits $this->db->count_records($table"");
          
          if(
    $this->db->db_result)
          {
             
    $hits $this->db->result($r_sql_hits0);
          }

          
    $this->db->raw_query("SELECT * FROM  ".$table." LIMIT ".($limitlower-1).",".$perpage."");
          
          if(
    $limitlower $hits)
          {
             
    $limitlower $hits $perpage;
          }
          
          if(
    $limitlower <= 0)
          {
             
    $limitlower 1;
          }
          
          
    // nothing found (error handling)
          
    $entry_links = array();
          if(
    $hits == 0)
          {
             echo 
    "Nothing found";
          }
          else
          {
             while(
    $row $db->this->fetch_array())
             {
                
    $entry_links[] = $row;
             }
          }
          
          if(
    $hits $perpage)
          {
             
    $page 1;     // all fits on one page ?
          
    }
          
          if(
    $hits $perpage)
          {
             
    $page ceil($hits/$perpage);
          }
          
          if(
    $pagenum 1)
          {
             
    $left_arrow "<a href=\"".$_SERVER['PHP_SELF']."?action=search&pagenum=".($pagenum-1)."\" class=\"searchlink\"> « </a>";
             
    $firstpage "<a href=\"".$_SERVER['PHP_SELF']."?action=search&pagenum=1\" class=\"searchlink\"> «« </a>";
          }         
          else
          {
             
    $left_arrow "<span class=\"diseablesearchlink\"> « </span>";
             
    $firstpage "<span class=\"diseablesearchlink\"> «« </span>";
          }
          
          if(
    $pagenum $page)
          {
             
    $right_arrow "<a href=\"".$_SERVER['PHP_SELF']."?action=search&pagenum=".($pagenum+1)."\" class=\"searchlink\"> » </a>";
             
    $lastpage "<a href=\"".$_SERVER['PHP_SELF']."?action=search&pagenum=".$page."\" class=\"searchlink\"> »» </a>";
          }
          else
          {
             
    $right_arrow "<span class=\"diseablesearchlink\"> » </span>";
             
    $lastpage "<span class=\"diseablesearchlink\"> »» </span>";
          }

          
    $this->assignVars('left_arrow'$left_arrow);
          
    $this->assignVars('right_arrow'$right_arrow);
          
    $this->assignVars('limitlower'$limitlower);
          
    $this->assignVars('limitupper'$limitupper);      
          
    $this->assignVars('firstpage'$firstpage);
          
    $this->assignVars('lastpage'$lastpage);
          
    $this->assignVars('hits'$hits);
          
    $this->assignVars('self'$_SERVER['PHP_SELF']);
          
    $this->assignVars('entry_links'$entry_links);   
       } 
    Und hier ist die Template Datei:

    {$numResults} {$aTrans.links}:
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td align="left">Ergebnis: {$limitlower} bis {$limitupper} von {$hits}</td>
    <td align="right">
    {section name=i loop=$entry_links}
    <hr />
    PLZ: {$entry_links[i].plz}<br />
    <b>{$aTrans.name}: <a href="http://{$entry_links[i].url}" target="_blank">{$entry_links[i].name}</a></b>
    {/section}
    <br /><br />

    {$firstpage} {$left_arrow}
    {section name=a loop=$pagenum}
    {if $a==$pagenum}
    <span class="thissite">{$a}</span>
    {else}
    <a href="{$self}?action=search&pagenum={$a}" class="searchlink">{$a}</a>
    {/if}
    {/section}
    {$right_arrow} {$lastpage}
    </td>
    </tr>
    </table>


    Die Fehlermeldung:

    Warning: mysql_result(): Unable to jump to row 349 on MySQL result index 37 in D:\classes\control\db\mysql4db.class.php on line 251


    Hat jemand eine Idee was da schiefläuft ?

    Danke

  • #2
    Unable to jump to row 349 on MySQL result index 37
    sicher, dass es den ds 249 gibt? glaube ich nicht.

    Kommentar


    • #3
      ???

      Es gibt 349 Datensätze. Was meinst Du genau ?

      Kommentar


      • #4
        dann gib mal bitte deinen query aus.

        Kommentar


        • #5
          SELECT * FROM links_company LIMIT 0,5

          echo $r_sql_hits;

          ergibt: 349

          Kommentar


          • #6
            kannst du mir mal verraten, wie du auf die idee kommst, dass der query dir über 300 Zeilen zurück liefert? Wozu LIMIT da ist, weißt du sicher...

            Kommentar


            • #7
              ???

              Die Idee habe ich nicht gehabt. Die Anzahl der zurückgegeben Datensätze ist doch durch die var $perpage gegeben oder sehe ich das falsch. Wie gesagt die Funktion ist nicht von mir, habe versucht sie an Smarty anzupassen. Da hat sich wohl ein Denkfehler eingeschlichen.

              Wo siehst Du das Problem genau ?
              Ich sehe LEIDER keins.

              Danke

              Kommentar


              • #8
                ich tippe mal, der fehler tritt auf, wenn du auf die letzte seite über die blätterfunktion zu greifst ... kann das sein?
                Kissolino.com

                Kommentar


                • #9
                  Hallo, leider wird die Seite garnicht dargestellt.
                  Also mit anderen Worten muss es ein "grober" Fehler sein.

                  Der fehler scheint das zu verhindern.
                  Mir sagt die Fehlermeldung aber auch nix.

                  Kommentar


                  • #10
                    die fehlermeldung sagt aus, dass du auf zeile(row) 300nochwas zugreifen willst. mit dem limit hast du das ergebnis aber auf 5 beschränkt. problem erkannt?

                    Kommentar


                    • #11
                      hat die sql klasse keine fehlerbehandlung/speicherung? ... da wir die klasse nicht kennen, könnte es schwierig werden ... ein schuss ins blaue:
                      was macht der abschnitt?
                      PHP-Code:
                      if($this->db->db_result)
                            {
                               
                      $hits $this->db->result($r_sql_hits0);
                            } 
                      $r_sql_hits hat doch schon die angaben die du brauchst... oder seh ich das falsch?
                      Kissolino.com

                      Kommentar


                      • #12
                        Hmm,

                        meist du wirklich?

                        Darfi ch auf die Orginal Funktion verweisen?

                        http://www.phpwelt.de/tutorials/tutorials.php?tuf=ON

                        Dann ist es dort aber auch falsch, oder nicht ?

                        Kommentar


                        • #13
                          äh ... darf ich dich auf ne klasse blätterfunktion hinweisen?
                          => http://www.php-resource.de/forum/sho...threadid=34888

                          ok, grundsätzlich brauchst du 3 werte
                          1. wieviel datensätze habe ich, die von der query zurückgegeben werden
                          => 1 sql query ohne limit
                          2. auslesen der datensätze die aktuell angezeigt werden sollen
                          => identische query wie oben ABER mit Limit
                          3. die aktuelle position
                          echo $r_sql_hits;
                          ergibt: 349
                          ^^ deine aussage ... mit dem og schnipsel (schätze ich) rufst du mysql_result(349,0) auf und bekommst einen fehler ... ist imho überflüssig ... im tutorial ist $r_sql_hits übrigens eine resourceid und kein zahlenwert.
                          Kissolino.com

                          Kommentar


                          • #14
                            OK
                            Zuletzt geändert von compuboy1010; 26.03.2004, 10:36.

                            Kommentar

                            Lädt...
                            X