Antworten auf deine Fragen:
Neues Thema erstellen

Links für seitenweise Ausgabe

mathi77

Nicht mehr ganz neu hier

Hallo,

leider komme ich zurzeit gar nicht mehr klar und steh voll auf der Leitung :-(

Bin gerade dabei eine Datenausgabe im MySql seitenweise als Link auszugeben: Möchte max. 15 Einträge pro Seite erzeugen, was fehlt mir hier noch? Die Nummerierung der einzelnen Einträge funktioniert schon.

<?php require ("includes/schuetzen.inc.php");
require ("includes/connect.inc.php");

$start = 0; // Startwert setzen (0 = 1. Zeile)
$ZeilenProSeite = 5; // Wieviele Einträge gleichzeitig?
$nr=$start+1; //Nummerierung: 0 auf 1 setzen

?>

<?php


// Anfrage zusammenstellen um die Datensaetze auszulesen
$sql1 = "SELECT * FROM tbl_kunden"; //Liefert alle Datensaetze -> $anzahl
$sql2 = "SELECT * FROM tbl_kunden LIMIT $start, $ZeilenProSeite"; //Liefert nur seitenweise Datensaetze
$result1 = mysql_query($sql1) or die("ERROR: ".mysql_error());
$anzahl = mysql_num_rows($result1);
$result2 = mysql_query($sql2) or die("ERROR: ".mysql_error());

for($i = 0; $anzahl > $i; $i = $i + $step) {
$anf = $i +1;
$end = $i + $ZeilenProSeite;
echo "[<a href=\"firmen.php?start=$i\">$anf-$end</a>]";
}

if ($anzahl==0){
echo "<p class='Eintrag'>Leider verlief die Suche ohne Erfolg!</p>";
}
else{
if ($anzahl==1){
echo "<p class='Eintrag'>1 Eintrag gefunden</p>";
}
else {
echo "<p class='Eintrag'>$anzahl Eintr&auml;ge gefunden</p>";
}
}

while($row = mysql_fetch_object($result2)){
echo ('
<tr>
<td align="center">'.$nr.'</td>
<td><a href="firmaXY.php">'.$row->Firma.'</a></td>
<td>'.$row->Vorname.'&nbsp;'.$row->Nachname.'</td>
<td>'.$row->Strasse.'&nbsp;'.$row->Hausnr.'</td>
<td>'.$row->PLZ.'</td>
<td>'.$row->Ort.'</td>
<td>'.$row->TelVW.'&nbsp;'.$row->TelNr.'</td>
</tr>
');
$nr++;
}

?>


DANKE! ;)

glg Mathi
 

FredFuchs94

Allrounder...

AW: Links für seitenweise Ausgabe

Naja vielleicht könntest du das mal in eine Seite einbauen und das Beispiel liefern damit man sich da was anschauen kann.
Oder was genau funktioniert daran nicht/zu wenig?!
 

mathi77

Nicht mehr ganz neu hier

AW: Links für seitenweise Ausgabe

es wird das

echo "[<a href=\"firmen.php?start=$i\">$anf-$end</a>]";}

nicht ausgegeben...
 

FredFuchs94

Allrounder...

AW: Links für seitenweise Ausgabe

Dann wird vermutlich die Schleife nicht oder nicht richtig durchlaufen. Checke mal die Verbindung zur DB und alle Angaben der DB und Tabellennamen.
Dann bau in die Schleife mal ne Zählvariable ein die nach der Schleife einmal ausgegeben wird. Dann kannst du schauen ob die Schleife überhaupt durchlaufen wird.
 

mathi77

Nicht mehr ganz neu hier

AW: Links für seitenweise Ausgabe

danke, habs gefunden, hatte in der for-schleife einen falschen $

nach 6 Stunden wird ma scho betriebsblind :D

:danke:

werd noch weiterdran basteln, werd sicherlich wieder posten ;)

glg Mathi
 

FredFuchs94

Allrounder...

AW: Links für seitenweise Ausgabe

Kein Ding, da nich für.
Ist mir auch schon oft passiert :D.

Aber wenn du fragen hast, nur raus damit.
 

netbandit

Aktives Mitglied

AW: Links für seitenweise Ausgabe

Geht auch ein bisserl einfacher, mal als Denkanstoss;

PHP:
<?php require ("includes/schuetzen.inc.php");
require ("includes/connect.inc.php");

if(isset($_GET['seite']))$seite=$_GET['seite'];
else $seite=1;
$ZeilenProSeite = 5; // Wieviele Einträge gleichzeitig?
$start=$seite*$ZeilenProSeite-$ZeilenProSeite;

?>

<?php


// Anfrage zusammenstellen um die Datensaetze auszulesen
$sql1 = "SELECT * FROM tbl_kunden"; //Liefert alle Datensaetze -> $anzahl
$sql2 = "SELECT * FROM tbl_kunden LIMIT $start, $ZeilenProSeite"; //Liefert nur seitenweise Datensaetze
$result1 = mysql_query($sql1) or die("ERROR: ".mysql_error());
$anzahl = mysql_num_rows($result1);
$result2 = mysql_query($sql2) or die("ERROR: ".mysql_error());

$gesamtseiten=ceil($anzahl/$ZeilenProSeite);
for($i=1;$i<=$gesamtseiten;$i++)
{
echo "[<a href=\"firmen.php?seite=$i\">$i</a>]";
}

if ($anzahl==0){
echo "<p class='Eintrag'>Leider verlief die Suche ohne Erfolg!</p>";
}
else{
if ($anzahl==1){
echo "<p class='Eintrag'>1 Eintrag gefunden</p>";
}
else {
echo "<p class='Eintrag'>$anzahl Eintr&auml;ge gefunden</p>";
}
}

while($row = mysql_fetch_object($result2)){
echo ('
<tr>
<td align="center">'.$nr.'</td>
<td><a href="firmaXY.php">'.$row->Firma.'</a></td>
<td>'.$row->Vorname.'&nbsp;'.$row->Nachname.'</td>
<td>'.$row->Strasse.'&nbsp;'.$row->Hausnr.'</td>
<td>'.$row->PLZ.'</td>
<td>'.$row->Ort.'</td>
<td>'.$row->TelVW.'&nbsp;'.$row->TelNr.'</td>
</tr>
');
$nr++;
}

?>
 
Zuletzt bearbeitet:

mathi77

Nicht mehr ganz neu hier

AW: Links für seitenweise Ausgabe

danke netbandit!

ist eigentlich verständlich & logisch aber dennoch bekomme ich keine echo link-ausgabe :)

oder hast irgendwo eine fangfalle eingebaut? :D

:danke:

glg Mathi
 

netbandit

Aktives Mitglied

AW: Links für seitenweise Ausgabe

Nö, ich Depp habe größer/gleich (>=) statt kleiner/gleich (<=) in die for-Schleife geschrieben. Tschuldigung, war keine Absicht O:)
 

mathi77

Nicht mehr ganz neu hier

AW: Links für seitenweise Ausgabe

funzt leider noch immer nicht, bekomm zwar die ausgabe jedoch wird der link nicht angezeigt :-(
 

netbandit

Aktives Mitglied

AW: Links für seitenweise Ausgabe

Hmmm; hast Du mal getestet was $anzahl bzw. $gesamtseiten enthält?
Einfach mal direkt vor der Schleife als echo ausgeben:

PHP:
//...
$gesamtseiten=ceil($anzahl/$ZeilenProSeite);
echo 'Gesamt: ' . $anzahl;  // Testausgabe
echo '<br>Seiten: ' . $gesamtseiten; // Testausgabe
for($i=1;$i<=$gesamtseiten;$i++){
    echo "[<a href=\"firmen.php?seite=$i\">$i</a>]";
}
//...
denn folgendes funktioniert auf jeden Fall:

PHP:
<?php
if(isset($_GET['seite']))$seite=$_GET['seite'];
else $seite=1;
$ZeilenProSeite = 5;
$start=$seite*$ZeilenProSeite-$ZeilenProSeite;
$anzahl = 53;
$gesamtseiten=ceil($anzahl/$ZeilenProSeite);
for($i=1;$i<=$gesamtseiten;$i++){
    if($i==$seite)
    echo "<b>[$i]</b>";
    else
    echo "[<a href=\"?seite=$i\">$i</a>]";
}
?>

Grüße :)
 

mathi77

Nicht mehr ganz neu hier

AW: Links für seitenweise Ausgabe

Hallo netbandit,

ich hab jetzt noch an meiner php-site weitergebaut, jedoch hab ich nun mit der seitenweise Ausgabe folgendes Problem:

Ich selektiere die Ausgabe mit POST mittels Buttons und wenn ich dann zb. auf die 2. Seite gehe von der if-schleife if(isset($_GET['seite']))$seite=$_GET['seite']; erhalte ich keine Anzeige mehr und muss nochmals den jeweiligen Button klicken...

Gibts da einen Trick wo ich das 2. Klick umgehen kann?

Bitte sei so nett und entwirre meinen Gedanken-Knoten ;-)

Danke & glg Mathi
 

saila

Moderatorle

AW: Links für seitenweise Ausgabe

danke, habs gefunden, hatte in der for-schleife einen falschen $

nach 6 Stunden wird ma scho betriebsblind :D

:danke:

werd noch weiterdran basteln, werd sicherlich wieder posten ;)

glg Mathi

Das ist nicht Betriebslindheit, sondern nicht korrektes entwicklen. Weil bei der Entwicklung als aller erstes folgende Zeile in das hauptscript (was auf allen Seiten eingebunden wird) folgendes steht:

PHP:
<?php
error_reporting(E_ALL);
?>

Und wenn man das eben nicht macht, dann sitzt man eigentl. aus Dummheit 6 Stunden oder länger vor dem Script und sucht den Fehler :D
 

mathi77

Nicht mehr ganz neu hier

AW: Links für seitenweise Ausgabe

Danke saila für den Tipp! :danke:

Habs natürlich sofort eingebunden! Bin blutiger Anfänger und such mir vieles aus Büchern und aus Foren raus!

glg Mathi
 

saila

Moderatorle

AW: Links für seitenweise Ausgabe

Danke saila für den Tipp! :danke:

Habs natürlich sofort eingebunden! Bin blutiger Anfänger und such mir vieles aus Büchern und aus Foren raus!

glg Mathi

Na wenn du das alles aus Büchern und Foren ziehst, dann ist da die nächste Frage ja schon klar oder?

Was sind das für Bücher oder Foren (ausgenommen dieses hier, weil man schon xxxx mal darauf hingewiesen hat), die keinen vernünftigen Hinweis auf error-reporting haben :) Error-Trigger oder try/catch
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben