Anzeige

Links für seitenweise Ausgabe

Links für seitenweise Ausgabe | PSD-Tutorials.de

Erstellt von mathi77, 29.12.2009.

  1. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    Links für seitenweise Ausgabe
    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
     
    #1      
  2. FredFuchs94

    FredFuchs94 Allrounder...

    Dabei seit:
    24.07.2009
    Beiträge:
    133
    Geschlecht:
    männlich
    Ort:
    Melle
    Software:
    Verstand, PS CS4, Flash CS4, DW CS4, Win7
    Kameratyp:
    keine
    Links für seitenweise Ausgabe
    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?!
     
    #2      
  3. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    Links für seitenweise Ausgabe
    AW: Links für seitenweise Ausgabe

    es wird das

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

    nicht ausgegeben...
     
    #3      
  4. FredFuchs94

    FredFuchs94 Allrounder...

    Dabei seit:
    24.07.2009
    Beiträge:
    133
    Geschlecht:
    männlich
    Ort:
    Melle
    Software:
    Verstand, PS CS4, Flash CS4, DW CS4, Win7
    Kameratyp:
    keine
    Links für seitenweise Ausgabe
    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.
     
    #4      
  5. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    Links für seitenweise Ausgabe
    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
     
    #5      
  6. FredFuchs94

    FredFuchs94 Allrounder...

    Dabei seit:
    24.07.2009
    Beiträge:
    133
    Geschlecht:
    männlich
    Ort:
    Melle
    Software:
    Verstand, PS CS4, Flash CS4, DW CS4, Win7
    Kameratyp:
    keine
    Links für seitenweise Ausgabe
    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.
     
    #6      
  7. netbandit

    netbandit Aktives Mitglied

    12
    Dabei seit:
    18.05.2008
    Beiträge:
    1.145
    Geschlecht:
    männlich
    Links für seitenweise Ausgabe
    AW: Links für seitenweise Ausgabe

    Geht auch ein bisserl einfacher, mal als Denkanstoss;

    PHP:
    1.  
    2. <?php require ("includes/schuetzen.inc.php");
    3. require ("includes/connect.inc.php");
    4.  
    5. if(isset($_GET['seite']))$seite=$_GET['seite'];
    6. else $seite=1;
    7. $ZeilenProSeite = 5; // Wieviele Einträge gleichzeitig?
    8. $start=$seite*$ZeilenProSeite-$ZeilenProSeite;
    9.  
    10. ?>
    11.  
    12. <?php
    13.  
    14.  
    15. // Anfrage zusammenstellen um die Datensaetze auszulesen
    16. $sql1 = "SELECT * FROM tbl_kunden"; //Liefert alle Datensaetze -> $anzahl
    17. $sql2 = "SELECT * FROM tbl_kunden LIMIT $start, $ZeilenProSeite"; //Liefert nur seitenweise Datensaetze
    18. $result1 = mysql_query($sql1) or die("ERROR: ".mysql_error());
    19. $anzahl = mysql_num_rows($result1);
    20. $result2 = mysql_query($sql2) or die("ERROR: ".mysql_error());
    21.  
    22. $gesamtseiten=ceil($anzahl/$ZeilenProSeite);
    23. for($i=1;$i<=$gesamtseiten;$i++)
    24. {
    25. echo "[<a href=\"firmen.php?seite=$i\">$i</a>]";
    26. }
    27.  
    28. if ($anzahl==0){
    29. echo "<p class='Eintrag'>Leider verlief die Suche ohne Erfolg!</p>";
    30. }
    31. else{
    32. if ($anzahl==1){
    33. echo "<p class='Eintrag'>1 Eintrag gefunden</p>";
    34. }
    35. else {
    36. echo "<p class='Eintrag'>$anzahl Eintr&auml;ge gefunden</p>";
    37. }
    38. }
    39.  
    40. while($row = mysql_fetch_object($result2)){
    41. echo ('
    42. <tr>
    43. <td align="center">'.$nr.'</td>
    44. <td><a href="firmaXY.php">'.$row->Firma.'</a></td>
    45. <td>'.$row->Vorname.'&nbsp;'.$row->Nachname.'</td>
    46. <td>'.$row->Strasse.'&nbsp;'.$row->Hausnr.'</td>
    47. <td>'.$row->PLZ.'</td>
    48. <td>'.$row->Ort.'</td>
    49. <td>'.$row->TelVW.'&nbsp;'.$row->TelNr.'</td>
    50. </tr>
    51. ');
    52. $nr++;
    53. }
    54.  
    55. ?>
    56.  
     
    Zuletzt bearbeitet: 29.12.2009
    #7      
  8. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    Links für seitenweise Ausgabe
    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
     
    #8      
  9. netbandit

    netbandit Aktives Mitglied

    12
    Dabei seit:
    18.05.2008
    Beiträge:
    1.145
    Geschlecht:
    männlich
    Links für seitenweise Ausgabe
    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:)
     
    #9      
  10. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    Links für seitenweise Ausgabe
    AW: Links für seitenweise Ausgabe

    funzt leider noch immer nicht, bekomm zwar die ausgabe jedoch wird der link nicht angezeigt :-(
     
    #10      
  11. netbandit

    netbandit Aktives Mitglied

    12
    Dabei seit:
    18.05.2008
    Beiträge:
    1.145
    Geschlecht:
    männlich
    Links für seitenweise Ausgabe
    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:
    1.  
    2. //...
    3. $gesamtseiten=ceil($anzahl/$ZeilenProSeite);
    4. echo 'Gesamt: ' . $anzahl;  // Testausgabe
    5. echo '<br>Seiten: ' . $gesamtseiten; // Testausgabe
    6. for($i=1;$i<=$gesamtseiten;$i++){
    7.     echo "[<a href=\"firmen.php?seite=$i\">$i</a>]";
    8. }
    9. //...
    10.  
    denn folgendes funktioniert auf jeden Fall:

    PHP:
    1. <?php
    2. if(isset($_GET['seite']))$seite=$_GET['seite'];
    3. else $seite=1;
    4. $ZeilenProSeite = 5;
    5. $start=$seite*$ZeilenProSeite-$ZeilenProSeite;
    6. $anzahl = 53;
    7. $gesamtseiten=ceil($anzahl/$ZeilenProSeite);
    8. for($i=1;$i<=$gesamtseiten;$i++){
    9.     if($i==$seite)
    10.     echo "<b>[$i]</b>";
    11.     else
    12.     echo "[<a href=\"?seite=$i\">$i</a>]";
    13. }
    14. ?>
    Grüße :)
     
    #11      
  12. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    Links für seitenweise Ausgabe
    AW: Links für seitenweise Ausgabe

    Hallo netbandit,

    es funzt :D :daumenhoch:

    Danke für Deine Hilfe!!! :danke:

    glg Mathi
     
    #12      
  13. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    Links für seitenweise Ausgabe
    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
     
    #13      
  14. netbandit

    netbandit Aktives Mitglied

    12
    Dabei seit:
    18.05.2008
    Beiträge:
    1.145
    Geschlecht:
    männlich
    Links für seitenweise Ausgabe
    AW: Links für seitenweise Ausgabe

    Schau mal in den anderen Thread ;)
     
    #14      
  15. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Links für seitenweise Ausgabe
    AW: Links für seitenweise Ausgabe

    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:
    1.  
    2. <?php
    3. ?>
    4.  
    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
     
    #15      
  16. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    Links für seitenweise Ausgabe
    AW: Links für seitenweise Ausgabe

    :danke: für deine Hilfe!
     
    #16      
  17. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    Links für seitenweise Ausgabe
    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
     
    #17      
  18. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Links für seitenweise Ausgabe
    AW: Links für seitenweise Ausgabe

    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
     
    #18      
x
×
×