kostenloser Webspace werbefrei: lima-city


Wo liegt der Fehler?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    jacer

    Kostenloser Webspace von jacer

    jacer hat kostenlosen Webspace.

    Also es geht um ein ganz normales G?stebuch. Ist ja auch kein Thema nur die Bl?tterfunktion will irgendwie nicht so recht funktionieren. Sind weniger Eintr?ge vorhanden als auf eine Seite d?rfen, wir gar keine Seitenzahl angezeigt. Sind es mehr wird die nur die derzeitige Seite angezeigt, aber nicht die darauf folgende!

    Hier einmal der Code:


    <?

    include("config.inc.php");

    if(!$_GET['seite']){
    $seite = "0";
    }

    else {
    $seite = $_GET['seite'];
    }

    $eintraege_pro_seite = "10";
    $start = $eintraege_pro_seite*$seite;
    $ende = $start+$eintraege_pro_seite;
    $auslesen = "SELECT * FROM `gaestebuch` ORDER BY `id` DESC LIMIT $start,$ende";
    $result = mysql_query($auslesen);
    $eintraege = mysql_num_rows($result);

    $seiten = round($eintraege/$eintraege_pro_seite);

    while ($row = mysql_fetch_array($result)) {
    $id = $row["id"];
    $name = $row["name"];
    $email = $row["email"];
    $hp = $row["hp"];
    $datum = $row["datum"];
    $beitrag = $row["beitrag"];

    include("gb2.php");

    }

    for($seite=0;$seite<$seiten;$seite++){

    echo "<a href='gb.php?seite=$seite'>$seite</a> ";

    }

    ?>


    Die "gb2.php" ist dabei ja dann nicht entscheidend dort ist ja nur die Tabelle f?r die Ausgabe drinn. Deshalb poste ich diesen Code jetzt nicht!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Es m?sste
    $ende = $eintraege_pro_seite;
    heisse, da der zweite Parameter(?) von LIMIT auch nur die Zahl der auszugebenen Eintr?ge sein soll.
    Wie auch immer, der zweite Parameter sagt, wie viele Spalten pro Seite ausgegeben werden sollen. Nicht, bis zu welchen Spa?ten! Der erste, ab welchen Spalten ausgegeben werden soll.

    Weiterhin solltest du
    $seiten = ceil($eintraege/$eintraege_pro_seite);
    schreiben, weil so die Seiten Anzahl aufgerundet wird und es verschiwnden bei 11-14 Eintr?gen nicht pl?tzlich welche.

    Probier das ganze nochmal aus. ;-)

    MfG Lucas
  4. Autor dieses Themas

    jacer

    Kostenloser Webspace von jacer

    jacer hat kostenlosen Webspace.

    Leider funktioniert es auch so nicht. LAos habe ich es jetzt auf Rat von lucas mit einer anderen Variante probiert. Doch auch diese blieb erfolglos:slant:


    <?

    include("config.inc.php");

    if(!$_GET['seite']){
    $seite = "0";
    }

    else {
    $seite = $_GET['seite'];
    }

    $eintraege_pro_seite = "10";
    $start = $eintraege_pro_seite*$seite;
    $ende = $eintraege_pro_seite;
    $auslesen = "SELECT * FROM `gaestebuch` ORDER BY `id` DESC LIMIT $start,$ende";
    $result = mysql_query($auslesen);
    $eintraege = mysql_num_rows($result);

    $seiten = ceil($eintraege/$eintraege_pro_seite);

    while ($row = mysql_fetch_array($result)) {
    $id = $row["id"];
    $name = $row["name"];
    $email = $row["email"];
    $hp = $row["hp"];
    $datum = $row["datum"];
    $beitrag = $row["beitrag"];

    include("gb2.php");
    }

    for ($j = 0; $j < $seiten; $j++) {
    $start_2 = $j * $eintraege_pro_seite;
    if ( $start_2 == $start ) {
    $pages = '[ '.$j.' ] ';
    }
    else {
    $pages = '[<a href="?action=%action%&amp;start='.$start_2.'"> '.$j.' </a>] ';
    }
    }

    ?>
  5. n********r

    ich zeige dir mal meine Variante:

    include ('verbindung.php');
    [b]include ('seiten_trenner.php');[/b]
    
    $sql = "SELECT * FROM gbook ORDER BY date DESC
    [b] LIMIT $start,$limit [/b]";
    $result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql);
    while ($read = mysql_fetch_array($result)) {
    $name[] = $read["name"];
    $email[] = $read["email"];
    $date[] = $read["date"];
    $new_entry[] = $read["eintrag"];
    }
    if (isset($new_entry))
    {
    for ($i = 0; $i < count($eintrag); $i++) {
    ?>
    <table class="gbook" width="100%" >
    <tr>
    <td width="33%">
    <i>Name:</i> <?php echo stripslashes(nl2br($name[$i])); ?></td>
    <td><i>Eintrag vom:</i> <?php echo date("d.m ; h:i",$date[$i]);?></td>
    
    </tr>
    </table>
    <table class="inhalt" width="100%">
    <tr>
    <td width="100%">
    <?php echo "<br>".stripslashes(nl2br($new_entry[$i]))."<br><br>"; ?>
    </td>
    </tr>
    </table>
    <br>
    <?php
    }
    
    [b]include ('seiten.php');[/b]
    }


    Hier der Code zur seiten.php:

    <?php
    echo '<center>[ ';
    $prev_site = $site-1;
    $next_site = $site+1;
    
    $addy = "gbook";
    if($site > 1)echo '<A HREF="'.$addy.'.php">??</A> <A HREF="'.$addy.'.php?site='.$prev_site.'">?</A>';
    
    $count = 1;
    
    while($count <= $sites)
    {
    if($site != $count)
    {
    echo '<A HREF="'.$addy.'.php?site='.$count.'">'.$count.'</A>';
    } else{
    
    echo $count;
    }
    echo ' ';
    $count++;
    }
    if($site < $sites)echo '<A HREF="'.$addy.'.php?site='.$next_site.'">?</A> <A HREF="'.$addy.'.php?site='.$sites.'">??</A>';
    echo ' ]</center>';
    ?>


    Und hier f?r seiten_trenner.php

    <?php
    if(@!$site)$site = 1;
    
    $limit = 10; // ?ndere diese zahl um die zahl der maximalen beitr?ge auf einer seite zu ?ndern
    
    $start = ($site-1)*$limit;
    
    $sql_sites = "SELECT * FROM gbook";
    
    $result_sites = mysql_query($sql_sites);
    
    $num_sites = mysql_num_rows($result_sites);
    
    $sites = ceil($num_sites/$limit);
    
    ?>


    Beitrag ge?ndert am 24.11.2005 07:32 von newwarrior
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!