mysql abfrage mit Automatischem Seitenumbruch

DJmension

Mitglied
Wie erstelle ich einen Automatischen Seitenumbruch ab 25 abgefragten Datensätzen, das bedeutet für ab die 26ste bis zur 50ten die 2te Seite , und ab der 51sten bis zur 75 sten die 3. Seite usw...

Gibt es da was meine Suchen wahren ohne erfolg ?
 
Um mal im gleichen Stil zu antworten

bedingte schleife mit modulo

aber wenn du dein Problem etwas genauer beschreibst .....

gruß

kato

PHP:
$i = 1;

while($result){

if( $i % 25 == 0){

// Hier der Seitenumbruch code

}

//ausgeben der Zeile

$i++;
}
 
OK , du hast gewonnen , klar das das etwas wenig war was ich da von mir gegeben habe.

hier mal der betreffende Code

Code:
<table bgcolor="#003333" border="2" bordercolor="#007979" cellspacing="0" cellpadding="0" width="95%">
	<tr>
                <td align="center">******************* hier sollen die Links erscheienen für die Datenbank Seiten *************</td></tr>
                 <tr>
	
		<td><b><font color="#80FFFF"> Level</font></b></td>
		<td><b><font color="#80FFFF"> Name</font></b></td>
		<td><b><font color="#80FFFF"> ID</font></b></td>
		<td><b><font color="#80FFFF"> Beute</font></b></td>
		<td><b><font color="#80FFFF"> erwischt</font></b></td>
		<td><b><font color="#80FFFF"> Datum</font></b></td>
		<td><b><font color="#80FFFF"> Zeit</font></b></td>
		<td><b><font color="#80FFFF"> Aktion</font></b></td>
	</tr>

<?php
include("dbconnect.php");

$query = "SELECT * FROM goldie_s20 ORDER BY datum DESC, zeit DESC";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());

while($row = mysql_fetch_assoc($result)){ 

    echo '<tr><td><font size="2">&nbsp;'.$row['Level'].'</font></td>
<td><a href="http://spielwelt20.monstersgame.net/index.php?ac=raubzug&sac=gegner&searchname='.$row['Name'].'" target="_blank"></font><font size="2" color="#00B0B0"><b>&nbsp;'.$row['Name'].'</b></font></a></td>
<td><a href="http://spielwelt20.monstersgame.net/index.php?ac=showuser&showuserid='.$row['IDnum'].'" target="_blank"></font><font size="2" color="#00B0B0"><b>&nbsp;'.$row['IDnum'].'</b></font></a></td>
<td><font size="2">&nbsp;'.$row['Beute'].'</font></td>
<td><font size="2">&nbsp;'.$row['erwischt'].'</font></td>
<td><font size="2">&nbsp;'.$row['Datum'].'</font></td>
<td><font size="2">&nbsp;'.$row['Zeit'].'</font></td>
<td align=center>
<a href="form_aendern.php?
id='.$row['id'].'&
Level='.$row['Level'].'&
Name='.$row['Name'].'&
IDnum='.$row['IDnum'].'&
Beute='.$row['Beute'].'&
erwischt='.$row['erwischt'].'&
Datum='.$row['Datum'].'&
Zeit='.$row['Zeit'].'
"><font size="2">Ändern </font></a>';


if($_SESSION['rechte'] == "admin")

   {
   echo ' I <a href="action_del.php?id='.$row['id'].'"><font size="2"> Löschen</font></a>';
   }
   else
   {
   echo '';
   }

echo '</td></tr>'; 
}

mysql_close($connect);

 
?>
Also wie oben schon erwähnt hätte ich das gerne das über der Tabelle automatisch neue links entstehen wenn die Tabelle die anzahl von 25 Einträgen übersteigt. Um auf die weiteren Seiten dann zugreifen zu können.

Die Links sollten Variabel ausgegeben werden in etwa $P1 , $P2 , $P3 usw...... die Variablen der links sollten dann in etwa so auf der Seite erscheinen 1-25 , 26-50 , 51-75usw....
Natürlich brache ich den passenden Code um den automatischen Seitenumbruch in der abfrage ein zurichten , weil jetzt ist es ja so das die komplette Tabelle abgefragt wird.
Wahrscheinlich denke ich mal ist hierfür ein neues Datenbankfeld nötig , ist egal mir ist alles Recht was zum Ziel führt.

Ich bedanke mich natürlich Herzlich für eventuelle Helfer

LG Andy
 
Zuletzt bearbeitet:
Als was der das speichert is egal, kannste ja wida ändern...
Spontan hab ich da 2 Möglichkeiten parat:
1. Im "Speichern unter..."-Dialog den Dateityp auf alle stellen und an den Dateinamen darüber .php anhängen...
2. Datei mit Editor öffnen und via speichern unter... mit anderem Dateitypen speichern...
3. In den Ordneroptionen die Einstellung für *.html-Dateien ändern, sodass die Dateiendung angezeigt wird und dann einfach nur den Namen der Datei und somit die Endung ändern...

Die Datei flattert auch ma grad per Mail in dein Postfach ;)
 
danke dir recht Herzlich für den Code , ich bin mal drüber geflogen , und kann leider nicht erkennen an welcher stelle die DB abfrage ein zu fügen währe.
 
Ach mist... sry hatte vorher nich nochmal in die File geguggt, weil da ursprünglich am Ende stand wie man das macht...

Ich such mal grade und edite dann den Post gleich... ;)

[EDIT]
Mist, ich find das im Web nich wieder :(

Wenn isch bitte mal einer von den Pros die Klasse ansehn könnte...

Ich weiß, dass am Ende extra Beispiele dran waren, wie man das mit SQL machen kann... Da brauch man auch dann den LIMIT für im SQL-Statement... Aber ich hatte das raus genommen, weil ich mir dachte, dass ich das schon hinkriegen würde ^^
Und nu steh ich aufm Schlauch xD

*weiter suchen*
 
Zuletzt bearbeitet:
Tolles Tutorial , ich könnt damit auch was anfangen wenn dort irgendwo beschrieben stünde wo jetzt die eigentliche DB Abfrage rein kommen soll :-( für Profis ist das klar und ersichtlich , doch Profis nehmen selten ein Tuorial zur Hilfe . Daran sollte mann eigentlich bei einem Tutorial denken. Aber eventuell hab ich ja das glück das mir einer von den Profis sagen kann wo ich meine Abfrage unterbringen soll ?

Code:
<?php
function createPages($input = 0, $perpage = 25) {
    global $page, $_SERVER;
    if ($input == 0)
        die("createPages(<b>\$input = $input</b>, \$perpage = $perpage");
    if ($input <= $perpage)
        return "« <b>1</b> »";
    if (!$page || $page < 1) {
        $page = 1;
    }
    $pages = ceil($input / $perpage);
    $html = "";
    if ($page > 1) {
        $html .= "<a href=\"".$_SERVER["PHP_SELF"]."?page=".($page-1)."\">«</a> ";
    } else {
        $html .= "« ";
    }
    for($i = 1; $i <= $pages; $i++) {
        if ($i == $page) {
            $html .= "<b>".$i."</b> ";
        } else {
            $html .= "<a href=\"".$_SERVER["PHP_SELF"]."?page=".$i."\">".$i."</a> ";
        }
    }
    if ($page <= $pages-1) {
        $html .= "<a href=\"".$_SERVER["PHP_SELF"]."?page=".($page+1).">»</a> ";
    } else {
        $html .= "» ";
    }
    return $html;
}

function limitSQL($perpage = 25) {
    global $page;
    if (!$page || $page < 1) {
        $page = 1;
    }
    $min = ($page - 1) * $perpage;
    $max = $min + $perpage;
    $out = array($min,$max);
    return $out;
}

$eintraege = 412;
$perpage = 30;

echo createPages($eintraege,$perpage);
$sql = limitSQL($perpage);
echo "<br/><br/><pre>";
print_r($sql);
echo "</pre>";
?>

ääääähmmmmmmm grübel
 
Zuletzt bearbeitet:
Zurück