Problem mit Blätterscript

newwarrior

Erfahrenes Mitglied
Hi ich habe hier einen Bl?tterScript. Der l?uft nur es gibt ein Problem, ich gebe auf der Seite wo er ist vorher die it mit. Jetzt wenn ich auf die n?chste Seite will ist die Id weg die ich brauche um Kommentare und tutorials auszulesen.
Jetzt will ich wissen, ob ich zwei get variablen ?ber einen link schicken kann. hier meinen bl?tter scriot

PHP:
PHP:
<?php
$eintraege_pro_seite = 2;
$query = mysql_query("SELECT * FROM kommentare_tutorial WHERE tutorial_id = '".$_GET['tutorial']."'");
$eintraege = mysql_num_rows($query);
                  
if(!isset($_GET['seite'])){
$seite = 0;
}else{
$seite = $_GET['seite'];
}
$start = $eintraege_pro_seite*$seite;
$ende = $start+$eintraege_pro_seite;
$query = mysql_query("SELECT * FROM kommentare_tutorial WHERE tutorial_id = '".$_GET['tutorial']."' LIMIT $start,$ende");
$seiten = round($eintraege/$eintraege_pro_seite);
for($i=0;$i<$seiten;$i++){
//Und hier soll die zweite Get variable auch noch mit geshcikt werden: $_GET['tutorial']
echo "<a href=\"read_tutorial.php?seite=$i\">[$i]</a> ";
                  
                  }?>
 
ich weiß es zwar nicht sicher, aber diese frage wurde bestimmt schon mal gestellt.

mit
PHP:
echo "<a href=\"read_tutorial.php?seite=$i&tutorial=".$_GET['tutorial'] ."\">[$i]</a> ";
müsste es funktionieren
 
Jetzt habe ich das Problem er ließt schön alles aus, macht auch auf zwei Seiten nur, er zeigt auf der zweiten Seite nicht den Eintrag an, der ebn gefehlt hat, sondern genau die, die auf der Seite davor auch schon angezeigt wurden:

PHP:
<?php
include ('verbindung.php');
$eintraege_pro_seite = 2;
$query = mysql_query("SELECT * FROM kommentare_tutorial WHERE tutorial_id = '".$_GET['tutorial']."'");
$eintraege = mysql_num_rows($query);
						
if(!isset($_GET['seite'])){
$seite = 0;
}else{
$seite = $_GET['seite'];
}
$start = $eintraege_pro_seite*$seite;
$ende = $start+$eintraege_pro_seite;
$query = mysql_query("SELECT * FROM kommentare_tutorial WHERE tutorial_id = '".$_GET['tutorial']."' LIMIT $start,$ende");

$sql = "SELECT * FROM kommentare_tutorial WHERE tutorial_id = '".$_GET['tutorial']."'";
$result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql);
while ($kommentar = mysql_fetch_array($result)) {
$id_kommentar[] = $kommentar["id"];
$kommentator[] = $kommentar["username"];
$kommentar_tut[] = $kommentar["kommentar"];
$date[] = $kommentar["date"];
}
if (isset($id_kommentar)){

for ($i = 0; $i < $eintraege_pro_seite; $i++) {?>
<table class="tutorial">
<tr>
<td width="25px"><span style="font-size:10px"><p align="left">User:</p></span></td><td><span style="font-size:10px"><p align="left"><?php echo stripslashes(nl2br($kommentator[$i]));?></p></span></td><td><span style="font-size:10px"><p align="right">Datum</p></span></td><td width="95px"><span style="font-size:10px"><p align="right"><?php echo date("d.m. // h:i",$date[$i]);?></p></span></td>
</tr>
</table>
<table class="tutorial">
<tr>
<td><textarea rows="3" cols="100"><?php echo stripslashes(nl2br($kommentar_tut[$i]));?></textarea></td>
</tr>
</table>
<?php
}
}

$seiten = round($eintraege/$eintraege_pro_seite);
for($i=0;$i<$seiten;$i++){
echo "<a href=\"read_tutorial.php?seite=$i&tutorial=".$_GET['tutorial'] ."\">[$i]</a> ";
						
}
						
?>;
 
da sollte eigentlich logisches Programmier-Denken gefordert sein!
Aber das solltest du tun:
du setzt zwar die variablen $start und $ende, benutzt sie aber nicht:

PHP:
for ($i = $start; $i < $ende; $i++)
 
PHP:
<?php

$sql = "SELECT * FROM kommentare_tutorial WHERE tutorial_id = '".$_GET['tutorial']."'";
$result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql);
while ($kommentar = mysql_fetch_array($result)) {
$id_kommentar[] = $kommentar["id"];
$kommentator[] = $kommentar["username"];
$kommentar_tut[] = $kommentar["kommentar"];
$date[] = $kommentar["date"];
}
if (isset($id_kommentar)){

for ($i = $start; $i < $ende; $i++) {?>
					
?>;

So habe ich es jetzt gemacht und dann bekomme ich folgende Fehlermeldung:
:



Notice: Undefined offset: 3 in D:\apachefriends\xampp\htdocs\tutorials-center\read_tutorial.php on line 240
 
PHP:
$start = $eintraege_pro_seite*$seite;
$ende = $start+$eintraege_pro_seite;

Das darfst du natürlich nicht vergessen!
aber wahrscheinlich liegt es daran, dass es nur ein eintrag gibt, und daher das array nur ein Enitrag hat und somit greifst du auf ein nicht vorhandenes Element zu!
 
nein es gibt insgesammt 3 Einträge und die Zeileen habe uch hier nochmlal alles :

PHP:
<?php
include ('verbindung.php');
$eintraege_pro_seite = 2;
$query = mysql_query("SELECT * FROM kommentare_tutorial WHERE tutorial_id = '".$_GET['tutorial']."'");
$eintraege = mysql_num_rows($query);
						
if(!isset($_GET['seite'])){
$seite = 0;
}else{
$seite = $_GET['seite'];
}
$start = $eintraege_pro_seite*$seite;
$ende = $start+$eintraege_pro_seite;
$query = mysql_query("SELECT * FROM kommentare_tutorial WHERE tutorial_id = '".$_GET['tutorial']."' LIMIT $start,$ende");
						
						
$sql = "SELECT * FROM kommentare_tutorial WHERE tutorial_id = '".$_GET['tutorial']."'";
$result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql);
while ($kommentar = mysql_fetch_array($result)) {
$id_kommentar[] = $kommentar["id"];
$kommentator[] = $kommentar["username"];
$kommentar_tut[] = $kommentar["kommentar"];
$date[] = $kommentar["date"];
}
if (isset($id_kommentar)){

for ($i = $start; $i < $ende; $i++) {?>
<table class="tutorial">
<tr>
<td width="25px"><span style="font-size:10px"><p align="left">User:</p></span></td><td><span style="font-size:10px"><p align="left"><?php echo stripslashes(nl2br($kommentator[$i]));?></p></span></td><td><span style="font-size:10px"><p align="right">Datum</p></span></td><td width="95px"><span style="font-size:10px"><p align="right"><?php echo date("d.m. // h:i",$date[$i]);?></p></span></td>
</tr>
</table>
<table class="tutorial">
<tr>
<td><textarea rows="3" cols="100"><?php echo stripslashes(nl2br($kommentar_tut[$i]));?></textarea></td>
</tr>
</table>
<?php
}
						
}
$seiten = round($eintraege/$eintraege_pro_seite);
for($i=0;$i<$seiten;$i++){
echo "<a href=\"read_tutorial.php?seite=$i&tutorial=".$_GET['tutorial'] ."\">[$i]</a> ";
						
}
						
?>
 
ok dann kannst du mir vielelicht bei einer anderen Sache helfen, ich habe in einem anderen Forum diesen Blätterscript gefunden. Das Problem ist nur ich habe keinen Plan wo meine Daten dan ausgelesen werden und wie ich das machen kann, könntest du es vielelicht umschreiben mit den Daten die du bis jetzt hast, die werden sich ja nicht verändern...
PHP:
<?php

     // Einbinden der Konfigurationsdatei
     include_once 'config.inc.php';
     
     // Funktion zur Erzeugung der Verweise
     function blaettern( $start, $proSeite, $gesamtzahl ) {

          $vorige   = '';
          $naechste = '';
          
          // "nächste Seite"
          if( ($start + $proSeite) <= $gesamtzahl ) {
               $naechsteStart = $start + $proSeite;
               $link = sprintf( '%s?start=%d',
                                     $_SERVER['PHP_SELF'],
                                     $start + $proSeite );
                                
               $naechste = sprintf( '&amp;raquo; <a href="%s">Datensätze %d bis %d</a> &amp;raquo;',
                                            $link,
                                            $naechsteStart,
                                            $naechsteStart + $proSeite - 1 );
          }
          
          // "vorige Seite"
          if( ($start - $proSeite) > 0 ) {
               $vorigeStart = $start - $proSeite;
               $link = sprintf( '%s?start=%d',
                                     $_SERVER['PHP_SELF'],
                                     $start - $proSeite );
               
               $vorige = sprintf( '&amp;laquo; <a href="%s">Datensätze %d bis %d</a> &amp;laquo;',
                                         $link,
                                         $vorigeStart,
                                         $vorigeStart + $proSeite -1 );        
          }
          
          return sprintf( '%s aktuell: [%d bis %d] %s',
                              $vorige,
                              $start,
                              $start + $proSeite - 1,
                              $naechste );  
     }     
     
     
     // Erstellen der Verbindung zur MySQL-Datenbank  
     if( !$connection = mysql_connect( $_config['host'], $_config['user'], $_config['password'] ) ) {
          die( 'Verbindung zum Datenbankserver konnte nicht hergestellt werden.' );
     }

     if( !mysql_select_db( $_config['database'], $connection ) ) {
          die ( 'Die Datenbank ' . $_config['database'] . ' kann nicht verwendet werden. <br />
                 MySQL-Error: <br />' . mysql_error() );
     }
  
     // Angabe der anzuzeigenden Datensätze pro Seite
     $proSeite = 3;
     
     // Deklaration und Initialisierung der Variablen $start.
     // Sie wird für die Erstellung der Blätterfunktion benötigt
     $start = 0;
     
     
     // Herausfinden, wie viele Datensätze existieren
     $sql = 'SELECT
                      COUNT(_id) AS anzahl
                FROM
                      archiv_news';
                  
     $res = mysql_query($sql) or die( 'Error[SELECT|News]: <br />
                                                     <pre>' . $sql . '</pre>
                                                     <br />
                                                     MySQL-Error: ' . mysql_error() );
                                       
     $news = mysql_fetch_object($res);
     $anzahlNews = $news->anzahl;
     
     
     // SQL-Anweisung, welche je nach Übergabeparameter erweitert wird    
     $sql = 'SELECT
                       _id,
                       _titel
                FROM
                       archiv_news
                LIMIT';
         
                  
     // Vervollständigung der SQL-Anweisung je nach $_GET['start']                  
     $sql .= ( isset($_GET['start'])
                  AND
                  is_numeric($_GET['start'])
                  AND
                  $_GET['start'] > 0
                  AND
                  $_GET['start'] <= $anzahlNews )
             ?   sprintf( ' %d, %d', $start = $_GET['start'], $proSeite )
             :   sprintf( ' %d, %d', 0, $proSeite );     
        
          
     $res = mysql_query($sql) or die( 'Error[SELECT|News]: <br />
                                                     <pre>' . $sql . '</pre>
                                                     <br />
                                                     MySQL-Error: ' . mysql_error() );
        
       
     // Anzeige der selektierten Datensätze
     echo '<ul>';
     while( $news = mysql_fetch_object($res) ) {
          printf( '<li>%d. <a href="%s">%s</a></li>',
                   $news->_id,
                   $_SERVER['PHP_SELF'] . '?news=' . $news->_id,
                   $news->_titel );                  
     }
     echo '</ul>';
        
     
     echo blaettern( ++$start, $proSeite, $anzahlNews );   
              
?>
 
Zurück