tutorials.de Buch-Aktion 05/2012
Like Tree3Danke
  • 1 Beitrag von String
  • 1 Beitrag von Bratkartoffel
  • 1 Beitrag von Kyôya
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
336
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Eurocid Eurocid ist offline Mitglied Bronze
    Registriert seit
    Aug 2011
    Ort
    Austria
    Beiträge
    40
    Hallo liebe PHP Gemeinde

    Habe mal wieder eine kleine Frage, folgendes:

    Ich gebe in einer Schleife folgendes aus:

    PHP-Code:
    echo "<a href='seite.php?page=1#sprungmarke'>text</a>"
    Hier wird z.B. ein Inhaltsverzeichnis ausgegeben, jeweils mit einer Sprungmarke hinten dran.
    Nun ist es aber so das auf jeder page= immer 5 Einträge sind die ich mit Sprungmarken angeben will.

    Beispiel so wären meine URLs richtig:
    page=1#Sprungmarke1
    page=1#Sprungmarke2
    page=1#Sprungmarke3
    page=1#Sprungmarke4
    page=1#Sprungmarke5
    page=2#Sprungmarke6
    page=2#Sprungmarke7
    usw...

    Meine Frage ist, wie kann ich in dieser Schleife nach jeder 5ten Url die page Zahl um eins erhöhen? Und trotzdem die Sprungmarken immer um 1 erhöhen?

    Ich dachte an eine zusätzliche FOR Schleife, aber ich komm grad nicht dahinter

    Grüße Cid
     

  2. #2
    Avatar von String
    String String ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Beiträge
    238
    Ungetestet, aber so müsste es gehen

    PHP-Code:
    $page=1;
    for(
    $i=1;$i<100;$i++) {
    if(
    $i%5==0$page++;
    print 
    "Page: $page - Sprungmarke: $i <br>";

    Eurocid bedankt sich. 

  3. #3
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.394
    Hi,

    oder so:
    PHP-Code:
    define("MARKEN_PRO_SEITE"5);

    for(
    $i=0$i<100$i++) {
      
    $seite floor($i MARKEN_PRO_SEITE) + 1;
      
    $marke $i MARKEN_PRO_SEITE 1;
      echo 
    "Seite: " $seite ", Marke: " $marke "<br />";

    Auch ungetestet

    Gruß,
    BK
    Eurocid bedankt sich. 
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  4. #4
    Eurocid Eurocid ist offline Mitglied Bronze
    Registriert seit
    Aug 2011
    Ort
    Austria
    Beiträge
    40
    Hello Leute

    Danke für die schnelle Antwort, so hab ich mir das auch schon gedacht mit der FOR Schleife, doch wo ich hier hänge ist das einbauen in meine schon vorhandene Schleife.

    Wenn ich das jetzt so einbaue wie ihr zwei mir das jetzt aufgeschrieben habt, bekomme ich natürlich für jeden durchlauf der darüber liegenden Schleife wieder eine Zeile mehr dazu.

    Das sieht dann jetzt so aus:

    Jeder Eintrag wird so oft ausgeben wie es Datenbankeinträge gibt.

    Die Datenbankeinträge gebe ich mit einer WHILE Schleife aus.

    WHILE Schleife
    {

    Diverse Datenbank ausgaben

    FOR Schleife
    {
    Seiten berechnung
    }

    noch mehr Datenbank ausgaben

    }

    Kann ich da meine Datenbankausgabe auch gleich in die FOR Schleife einbauen?

    Grüße Cid
    Geändert von Eurocid (28.11.11 um 17:40 Uhr)
     

  5. #5
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.394
    Hi,

    klar geht das irgendwie. Aber ohne Code kann ich dir da jetzt nicht weiterhelfen, verstehe nicht so ganz wie deine Schleife funktioniert / welche Daten vorliegen und wie man daraus dann die Seitenzahl und die Sprungmarke berechnen kann.

    Eigentlich sollte das so gehen wie ich es oben geschrieben habe. Die Seitenzahl erreichst du mit (<aktueller_eintrag_nr> / 5) und die Sprungmarke mit (<aktueller_eintrag_nr> % 5). Bei beiden halt noch +1, weil du ja nicht bei 0 zu zählen anfängst.

    Gruß,
    BK
     
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  6. #6
    Eurocid Eurocid ist offline Mitglied Bronze
    Registriert seit
    Aug 2011
    Ort
    Austria
    Beiträge
    40
    Ok hier der Teil mit der Datenbankausgabe:

    PHP-Code:

    echo "<div style='font-size:16px;'>";
        echo 
    "<table align='center' style='border: 1px;' cellpadding='1' cellspacing='1' summary=''>";

        
    $sql "SELECT * FROM logbook";
        
    $result mysql_query($sql);
        
    $eintragsanzahl mysql_num_rows($result);

        while (
    $logs mysql_fetch_array($result))
        {
            
    /* $page = 1;
            for($i = 1; $i < $eintragsanzahl; $i++)
            {
            if($i % 5 == 0) $page++;
            } */

            
    echo "<tr>";
                echo 
    "<td width='50'>#&nbsp;$nr</td>";
                echo 
    "<td width='400'><span style='font-size:20px;'>";
                    echo 
    "<a href='site_logbook.php?head=LOGBOOK&page=$page#$logs[id]'>$logs[h1]</a></span></td>";
                echo 
    "<td width='50'>$logs[date]</td>";
            echo 
    "</tr>";
        }

        echo 
    "</table>";
        echo 
    "</div>"
    Hilft dir das weiter, so dass du mir weiterhelfen kannst
    Geändert von Eurocid (28.11.11 um 19:18 Uhr)
     

  7. #7
    Kyôya Kyôya ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Ort
    Würzburg
    Beiträge
    62
    Hi,

    aaaaaalso, bei deiner while Schleife kannst du auf eine for Schleife verzichten.

    PHP-Code:
        $entry 1;
        
    $page 1;
        while (
    $logs mysql_fetch_array($result))
        {
            if (
    $entry == 0) {
                
    $page++;
            }

            echo 
    "<tr>";
                echo 
    "<td width='50'>#&nbsp;$nr</td>";
                echo 
    "<td width='400'><span style='font-size:20px;'>";
                    echo 
    "<a href='site_logbook.php?head=LOGBOOK&page=$page#$logs[id]'>$logs[h1]</a></span></td>";
                echo 
    "<td width='50'>$logs[date]</td>";
            echo 
    "</tr>";
            
    $entry++;
        } 
    Gruß Kyoya Stefan
    Eurocid bedankt sich. 
    Oracle Certified MySQL 5 Professional Developer
    Zend Certified PHP 5.3 Engineer

    Vorträge, Webinare, etc im Mayflower - Blog

  8. #8
    Eurocid Eurocid ist offline Mitglied Bronze
    Registriert seit
    Aug 2011
    Ort
    Austria
    Beiträge
    40
    Ich danke euch, jetzt ist mir alles klar, funktioniert vom feinsten.

    Ich hab viel zu kompliziert gedacht.
     

Ähnliche Themen

  1. Seitenzahl berechnen
    Von Zyberion im Forum Desktop Publishing (DTP)
    Antworten: 5
    Letzter Beitrag: 11.03.09, 17:13
  2. Word: Seitenzahl
    Von sans im Forum Office-Anwendungen
    Antworten: 5
    Letzter Beitrag: 25.09.06, 08:39
  3. Seitenzahl bei Word
    Von yani im Forum Office-Anwendungen
    Antworten: 3
    Letzter Beitrag: 12.08.05, 14:31
  4. Seitenzahl beschränken?
    Von StefanR im Forum PHP
    Antworten: 3
    Letzter Beitrag: 05.10.04, 18:55
  5. Problem mit Seitenzahl
    Von Lupidor im Forum PHP
    Antworten: 9
    Letzter Beitrag: 22.02.03, 17:10