tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
1813
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Nov 2002
    Beiträge
    983
    Meine Frage bezieht sich auf folgendes Tutorial:
    http://www.tutorials.de/tutorials6083.html

    Ok, meine erste Frage hat sich erledigt.

    Nun fällt mir auf, dass die Seitenzahlen nicht bei eins, sondern bei null anfangen,
    was optisch nicht so schön ist. Wie bekomme ich das hin, dass bei 1 angefangen wird?
    Hier ist noch mein Code:
    http://nopaste.php-q.net/9312

    Vielen Dank!
    Geändert von Moritz123 (23.08.03 um 12:26 Uhr)
     

  2. #2
    Avatar von danube
    danube danube ist offline Mitglied Platin
    Registriert seit
    Jan 2002
    Ort
    Berlin
    Beiträge
    522
    du musst ceil nehmen, kleines bsp:

    du hast 11 artikel und pro seite sollen 2 artikel angezeigt werden.

    11:2=5,5

    mit floor hättest du 5 Seiten, mit ceil 6

    und du brauchst auch 6 seiten. auf 5 werden jeweils 2 artikel angezeigt und auf der seite nummer 6 dann nurnoch einer.
     

  3. #3
    liddelschildi liddelschildi ist offline Grünschnabel
    Registriert seit
    Nov 2004
    Beiträge
    1
    Ich habe auch eine Frage zu selbigem Tutorial...

    Wo und wie ist denn die Variable $page definiert? Und was macht diese?
     

  4. #4
    hey3000 hey3000 ist offline Mitglied
    Registriert seit
    Dec 2004
    Beiträge
    11
    da habe ich auch mein problem mit, die variable page ist nicht definiert, was beworkt sie, ich habe das versucht mit der beschreibung aber $page verstehe ich auch nicht.
     

  5. #5
    stender23 Tutorials.de Gastzugang
    Tach,

    die Variable $page ist die Seitenzahl die aufgerufen wird.

    Beispiel:
    .../anzeigen.php?page=2

    Darüber wird ihr ein Wert zugewiesen. Um in der Darstellung die Seitenanzahl zu erhöhen, recht es die Variable um 1 zu erhöhen.

    Beispiel:
    $seite=$page+1;

    Einfach in der Ausgabe bie Variablen tauschen.

    Wenn es nicht klappt, wieder melden.

    Grüsse setnder23
     

  6. #6
    hey3000 hey3000 ist offline Mitglied
    Registriert seit
    Dec 2004
    Beiträge
    11
    hm... danke erstmal für deine schnelle antwort.

    ich habe mir ein gästebuch mit hilfe eines tutorials (http://php-q.net/) gemacht. da wurde aber das zählen und ausgeben von bestimmten einträgen pro seite nicht behandeln, nun wollte ich dies nachrüsten. naja alles eingegeben, aber mir wird immer wieder gesagt, die variable page sei nicht definiert. vll kannst du mir weiter helfen?

    gruß hey3000
     

  7. #7
    stender23 Tutorials.de Gastzugang
    Wenn du in der URL hinter dem Dateinamen "?page=1" eingibst, ist die Variable eigentlich deklariert.
    Ohne Code ist es aber schwer dir weiter zu helfen!

    Grüsse stender23
     

  8. #8
    Avatar von Badboyws
    Badboyws Badboyws ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    146
    hallo ihrs,

    also irgendwie kommt mir der Tread doch bekannt vor :o\

    hab da doch neulich den Code schon so umgeschrieben das das GB bei der Seite 1 anfängt und nicht bei 0.!

    Das mit dem Ceil(); ist eine Lüge, wenn dann funktioniert das Script nur mit floor(); richtig.
    Erklärung, wenn du 22 Einträge im GB hast, das dann durch 10 teilst bleiben 2,2 sprich 2 Seiten + Seite 0 du siehst also nur mit floor() (abrunden) alle, mit ceil() kannste unter umständen ne Seite zuviel angezeigt kriegen.

    Aber da ich das alles schonmal erklärt habe einfach suchen!

    So ums einfacher zu machen:

    http://www.tutorials.de/forum/showthread.php?t=184120
    Geändert von Badboyws (28.12.04 um 18:56 Uhr)
     
    Grüße Phil

    (Codeschnipsel von mir sind generell ungetestet und müssen unter Umständen für den jeweiligen Verwendungszweck angepasst werden)

    ------------------------------------------------------------------------------------------
    Hätten wir etwas getan, als noch Zeit war, bräuchten wir uns nicht vorzustellen, wie es wäre, wenn wir etwas getan hätten, als wir noch Zeit dazu gehabt hätten!
    ------------------------------------------------------------------------------------------

  9. #9
    hey3000 hey3000 ist offline Mitglied
    Registriert seit
    Dec 2004
    Beiträge
    11
    Im folgenden steht mein ursprünglicher quellcode, noch ohne die "blätter-funktion":


    <?php
    error_reporting(E_ALL);

    include 'config.inc.php';

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

    $sql = "SELECT name,datum,mail,hp,mess FROM gb ORDER BY datum DESC";
    $result = mysql_query($sql) OR die(mysql_error());

    while($row = mysql_fetch_assoc($result)) {
    echo "<tr><td width=\"150\" height=\"20\" bgcolor=\"#eeeeee\"><p><b>".$row['name']."</b></p></td>\n";
    echo "<td valign=\"center\" height=\"20\" bgcolor=\"#eeeeee\">\n";
    if(trim($row['mail']) == "") {
    echo $row['name'];
    } else {
    echo "<a href=\"mailto:".$row['mail']."\"><img src=\"images/notify.png\" border=\"0\" height=\"15\" width=\"15\"></a>\n";
    }
    if(trim($row['hp']) != "") {
    if(strtolower(substr($row['hp'], 0, 7)) == "http://") {
    echo "<a href=\"".$row['hp']."\" target=\"_blank\"><img src=\"images/link.png\" border=\"0\" height=\"15\" width=\"15\"></a>";
    } else {
    echo "<a href=\"http://".$row['hp']."\" target=\"_blank\"><img src=\"images/link.png\" border=\"0\" height=\"15\" width=\"15\"></a>";
    }
    }

    echo "</td>\n";
    echo "<td align=\"right\" height=\"20\" bgcolor=\"#eeeeee\"><p>".$row['datum']."</p></td></tr>\n";
    include "smilies.php";
    echo "<tr><td colspan=\"3\"><p>".strtr(nl2br($row['mess']), $smilies)."</p></td></tr>\n";
    echo "<tr><td height=\"10\"></td></tr>\n";
    }
    ?>
     

  10. #10
    hey3000 hey3000 ist offline Mitglied
    Registriert seit
    Dec 2004
    Beiträge
    11
    hehe aber vll brauchst du doch ehr den code mit der besagten funktion, ich bin noch ein sehr sehr blutiger anfänger, also habe ich bestimmt etwas total falsch gemacht :S :

    <?php
    error_reporting(E_ALL);

    include 'config.inc.php';

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

    $sql = "SELECT name,datum,mail,hp,mess FROM gb ORDER BY datum DESC";
    $result = mysql_query($sql) OR die(mysql_error());

    $number = mysql_num_rows($result);
    $seiten=floor($number/$proseite);
    $start=$page * $proseite;
    $sql="SELECT * FROM gb LIMIT $start,$proseite";
    $result = mysql_query($sql) OR die(mysql_error());
    $ende = $start + $proseite;
    if ($ende>$number) { $ende = $number }
    echo "Zur Zeit sind $number Einträge im Gästebuch <BR> \n";
    echo "Seite $page - Einträge von $start bis $ende <BR> \n";

    while($row = mysql_fetch_assoc($result)) {
    echo "<tr><td width=\"150\" height=\"20\" bgcolor=\"#eeeeee\"><p><b>".$row['name']."</b></p></td>\n";
    echo "<td valign=\"center\" height=\"20\" bgcolor=\"#eeeeee\">\n";
    if(trim($row['mail']) == "") {
    echo $row['name'];
    } else {
    echo "<a href=\"mailto:".$row['mail']."\"><img src=\"images/notify.png\" border=\"0\" height=\"15\" width=\"15\"></a>\n";
    }
    if(trim($row['hp']) != "") {
    if(strtolower(substr($row['hp'], 0, 7)) == "http://") {
    echo "<a href=\"".$row['hp']."\" target=\"_blank\"><img src=\"images/link.png\" border=\"0\" height=\"15\" width=\"15\"></a>";
    } else {
    echo "<a href=\"http://".$row['hp']."\" target=\"_blank\"><img src=\"images/link.png\" border=\"0\" height=\"15\" width=\"15\"></a>";
    }
    }

    echo "</td>\n";
    echo "<td align=\"right\" height=\"20\" bgcolor=\"#eeeeee\"><p>".$row['datum']."</p></td></tr>\n";
    include "smilies.php";
    echo "<tr><td colspan=\"3\"><p>".strtr(nl2br($row['mess']), $smilies)."</p></td></tr>\n";
    echo "<tr><td height=\"10\"></td></tr>\n";
    }



    if ($page>0) {
    $i=$page-1;
    echo "<A HREF=\"guestbook.php?page=$i\">&lt;previous</A>";
    }
    for($i=0; $i<=$seiten; $i++) {
    if ($i==$page) {
    echo $i."&nbsp;";
    }
    else {
    echo "<A HREF=\"guestbook.php?page=$i\">$i</A>&nbsp;";
    }
    }
    if ($page<$seiten) {
    $i=$page+1;
    echo "<A HREF=\"guestbook.php?page=$i\">next&gt;</A>";
    }
    ?>



    gruß hey3000
     

  11. #11
    hey3000 hey3000 ist offline Mitglied
    Registriert seit
    Dec 2004
    Beiträge
    11
    line 27: if ($ende>$number) { $ende = $number }
    beim aufrufen des gästebuches wird mir dieser fehler geschrieben:
    Parse error: parse error, unexpected ')' in /var/.../guestbook.php on line 27


    HILFE!
     

  12. #12
    Avatar von Badboyws
    Badboyws Badboyws ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    146
    och Herr Gott nochmal, da postet man nen Link zu nem Tread wo das alles schonmal abgehandelt wurde und keiner liest den Post tztztz

    @hey3000
    Lese dir mal den anderen Tread durch und wenn du ganz aufmerksam schaust, siehst wo der Fehler in: if ($ende>$number) { $ende = $number } liegt
     
    Grüße Phil

    (Codeschnipsel von mir sind generell ungetestet und müssen unter Umständen für den jeweiligen Verwendungszweck angepasst werden)

    ------------------------------------------------------------------------------------------
    Hätten wir etwas getan, als noch Zeit war, bräuchten wir uns nicht vorzustellen, wie es wäre, wenn wir etwas getan hätten, als wir noch Zeit dazu gehabt hätten!
    ------------------------------------------------------------------------------------------

  13. #13
    hey3000 hey3000 ist offline Mitglied
    Registriert seit
    Dec 2004
    Beiträge
    11
    ja das sehe ich auch aber so wurde es in dem tutorial geschrieben:

    http://www.tutorials.de/tutorials6083.html

    ...hehe
    ...aber weiter bin ich immer noch nicht gekommen :S
     

  14. #14
    Avatar von Badboyws
    Badboyws Badboyws ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    146
    hm vorhin wußtest es noch nicht, aber was solls

    wo liegt denn nun wieder das Problem?
    nehm doch einfach mal das Script was ich in dem anderen tread gepostet habe ohne was dran zu ändern und teste das dann mal, mit entsprechender Datenbanverbindung versteht sich.

    Wenns dann immernoch nicht geht, liegts an der Einstellung register_globals=nein in der php.ini des Webservers, die müsste auf ja stehen, ansonsten musste $_GET['page'] nehmen.
    So in etwa:
    $page=$_GET['page']

    so fehlt nur noch was diese Variable macht. Diese Variable $page braucht nicht definiert zu werden. Sie steht standard mäßig auf null beim ersten Aufruf und ihre Wertzuweisung erfolgt dann dynamisch über einen der 3 Links am Ende des Scripts. Mit dieser Variable wird dann einfach nur angeben welche Seite angezeigt wird und welche GB Einträge dann zusehen sein sollen. Das wars dann auch schon.

    Sooooo noch irgendwas vergessen, denke nicht

    achja, wie weit reichen denn deine Kenntnisse in php?
     
    Grüße Phil

    (Codeschnipsel von mir sind generell ungetestet und müssen unter Umständen für den jeweiligen Verwendungszweck angepasst werden)

    ------------------------------------------------------------------------------------------
    Hätten wir etwas getan, als noch Zeit war, bräuchten wir uns nicht vorzustellen, wie es wäre, wenn wir etwas getan hätten, als wir noch Zeit dazu gehabt hätten!
    ------------------------------------------------------------------------------------------

  15. #15
    hey3000 hey3000 ist offline Mitglied
    Registriert seit
    Dec 2004
    Beiträge
    11
    ich werde es jetzt noch versuchen, danke.

    aso und meine php kenntnisse, oh :S ...die sind nicht sehr berauschend. ich weiß wozu mans nehmen kann, den grundkern auch, einwenig anwenden kann ich es auch. aber wie gesagt ich bin ein sehr sehr blutiger anfänger.

    gruß, hey3000
     

Ähnliche Themen

  1. ausgabe auf mehrere seiten verteilen!
    Von redback79 im Forum PHP
    Antworten: 9
    Letzter Beitrag: 28.01.11, 17:14
  2. Antworten: 3
    Letzter Beitrag: 16.08.08, 23:45
  3. Antworten: 1
    Letzter Beitrag: 10.10.07, 16:42
  4. Ausgabe meines Newsscripts auf mehrere Seiten verteilen
    Von fizzle im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 15.05.04, 19:08
  5. Antworten: 2
    Letzter Beitrag: 27.10.02, 21:18