3Danke
ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
336
336
EMPFEHLEN
-
Hallo liebe PHP Gemeinde
Habe mal wieder eine kleine Frage, folgendes:
Ich gebe in einer Schleife folgendes aus:
Hier wird z.B. ein Inhaltsverzeichnis ausgegeben, jeweils mit einer Sprungmarke hinten dran.PHP-Code:echo "<a href='seite.php?page=1#sprungmarke'>text</a>";
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
-
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>";
}
-
28.11.11 16:48 #3
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
oder so:
Auch ungetestetPHP-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 />";
}

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"
-
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 CidGeändert von Eurocid (28.11.11 um 17:40 Uhr)
-
28.11.11 18:17 #5
- 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"
-
Ok hier der Teil mit der Datenbankausgabe:
Hilft dir das weiter, so dass du mir weiterhelfen kannstPHP-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'># $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>";
Geändert von Eurocid (28.11.11 um 19:18 Uhr)
-
Hi,
aaaaaalso, bei deiner while Schleife kannst du auf eine for Schleife verzichten.
Gruß Kyoya StefanPHP-Code:$entry = 1;
$page = 1;
while ($logs = mysql_fetch_array($result))
{
if ($entry % 5 == 0) {
$page++;
}
echo "<tr>";
echo "<td width='50'># $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++;
}
Oracle Certified MySQL 5 Professional Developer
Zend Certified PHP 5.3 Engineer
Vorträge, Webinare, etc im Mayflower - Blog
-
Ich danke euch, jetzt ist mir alles klar, funktioniert vom feinsten.

Ich hab viel zu kompliziert gedacht.
Ähnliche Themen
-
Seitenzahl berechnen
Von Zyberion im Forum Desktop Publishing (DTP)Antworten: 5Letzter Beitrag: 11.03.09, 17:13 -
Word: Seitenzahl
Von sans im Forum Office-AnwendungenAntworten: 5Letzter Beitrag: 25.09.06, 08:39 -
Seitenzahl bei Word
Von yani im Forum Office-AnwendungenAntworten: 3Letzter Beitrag: 12.08.05, 14:31 -
Seitenzahl beschränken?
Von StefanR im Forum PHPAntworten: 3Letzter Beitrag: 05.10.04, 18:55 -
Problem mit Seitenzahl
Von Lupidor im Forum PHPAntworten: 9Letzter Beitrag: 22.02.03, 17:10





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren