[Script] Problem mit Blätterfunktion

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Script] Problem mit Blätterfunktion

    naja... ich versuchs mal zu erklären...
    ich möchte eine blätterfunktion für meine Seite einbauen...

    und zwar sollen immer 10 dateien pro seite angezeigt werden...
    leider zeigt er mir auf allen seiten immer gleichen 100 dateien ppro Seite an (und nicht nur 10...)

    PHP-Code:
    <?
    $home_pfad = "user/";
    $i = 0;

    $dh = opendir($home_pfad);
    while($datei = readdir($dh))

        if($datei !== "" && $datei !== "." && $datei !== ".." && $datei !=="userbilder"){
    if (eregi('.',$datei)) {

            
            if(is_file($home_pfad."/".$datei)){
            
            $i++;
            }
        }
    }
    }
    echo "$i Dateien gefunden<br>"; 

    $seite = $_GET['seite'];

    if(!isset($seite))
       {
       $seite = 1;
       }
    $eintraege_pro_seite = 10;
    $start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;

    $wieviel_seiten = $i / $eintraege_pro_seite;

    echo "<b>Seite:</b> ";

    //Ausgabe der Links zu den Seiten
    for($a=0; $a < $wieviel_seiten; $a++) //
       {
       $b = $a + 1;

       //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
       if($seite == $b)
          {
          echo "  <b>$b</b> ";
          }

       //Aus dieser Seite ist der User nicht, also einen Link ausgeben
       else
          {
          echo "  <a href=\"?user=profil-show-all&seite=$b\">$b</a> ";
          }
                
       }

    //das hier muss soweit ich denke irgendwo in das script aber wo???
    if ($handle = opendir('user/')) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && $file != "userbilder") {
    ?>
      <table border="1" width="80%" height="25">
        <tr>
          <td width="20%" height="25">User:</td>
          <td width="28%" height="25"><a href="home.php?user=profil-show-all&userprofil=<? echo $file ;?>"><? echo $file ;?></td>
        </tr>
      </table><br>
    <?
            }
        }
        closedir($handle);
    }}
    ?>
    Zuletzt geändert von babyos; 10.09.2008, 12:38.
    Weltbestepartybilder.de Community, Partybilder, uvm...

  • #2
    1. Falsches Forum!
    2. Mach dir doch wenigstens die Mühe und kontrolliere ob dein Posting korrekt ist.
    3. Poste eigene Ansätze, Testausgaben, etc, wenn du nicht nach Projekthilfe verschoben werden willst.

    1. Habe ich für dich korrigiert, 2+3. holst du jetzt bitte nach.

    Kommentar


    • #3
      zu 1. Danke....

      zu 2. das posting wird jetzt korrekt angezeigt^^

      zu 3. das hat sich ja erledigt, da ich ja schon im forum Projekthilfe verschoben wurde....


      ich habe schon im ersten posting geschrieben, dass ich immer egal auf welcher Seite ich mich befinde immer die geichen 100 dateien (von 100) sehe obwohl ich nur pro Seite 10 sehen möchte....
      Weltbestepartybilder.de Community, Partybilder, uvm...

      Kommentar


      • #4
        Gut, dann hoffen wir mal zusammen, dass sich jemand findet, der sich die Zeit nimmt, den kompletten Code nachzuvollziehen.

        OffTopic:
        PHP-Code:
        $seite $_GET['seite'];

        if(!isset(
        $seite))
           {
           
        $seite 1;
           } 

        EDIT:
        Naja, irgendwie tut man es aus Neugierde ja doch...

        Du hast ja nichtmal den Ansatz einer Begrenzung der "Datensätze" drin. Wundert es dich wirklich, dass alle 100 User angezeigt werden?

        Zuletzt geändert von TobiaZ; 10.09.2008, 12:44.

        Kommentar


        • #5
          PHP-Code:
          <?

          $home_pfad = "user/";
          $eintraege_pro_seite = 10;

          $seite = isset($_GET['seite']) ? (int)$_GET['seite'] : 1;

          $start = ($seite-1) * $eintraege_pro_seite;
          $ende = $start + $eintraege_pro_seite;



          /**
           * get all users
           */
          $dh = opendir($home_pfad);
          while($datei = readdir($dh))
          {
              if($datei !== "" && $datei !== "." && $datei !== ".." && $datei !=="userbilder" && is_file($home_pfad."/".$datei))
              {

                  $files[] = $datei;
                  
              }
              
          }

          closedir($dh);



          /**
           * output
           */
          echo '<p>' . count($files) . 'Dateien gefunden!</p>'; 

          $anzahl_seiten = $i / $eintraege_pro_seite;



          /**
           * pagination
           */
          echo "<b>Seite:</b> ";

          //Ausgabe der Links zu den Seiten
          for($i=1; $i <= $anzahl_seiten; $i++)
              echo $seite == $i ? '<b>'.$i.'</b>' : '<a href="?user=profil-show-all&seite=' . $b . '">' . $b . '</a>';

              
          /**
           * table
           */
          ?>

          <table>
            <tr>
              <th>Username</th>
              <th></th>
            </tr>
            
          <?php

          for($i=$start;$i<$ende;$i++)
              echo 
          '
                <tr>
                  <td>' 
          $files[$i] . '</td>
                  <td><a href="home.php?user=profil-show-all&userprofil=' 
          $files[$i] . '">Profil</td>
                </tr>'
          ;
              
          ?>

          </table>

          Kommentar


          • #6
            hallöchen....


            leider ein prob

            und zwar wenn ich 33 user habe

            dann wird auf seite 3:
            von den letzen 3 der Name angezeigt.
            aber 10 mal Profil angezeigt obwohl keine weitere datei gibt....
            Zuletzt geändert von babyos; 11.09.2008, 02:08.
            Weltbestepartybilder.de Community, Partybilder, uvm...

            Kommentar


            • #7
              Das kann eigentlich nicht sein.

              Wenn du das Error-Reporting an hättest, würdest du noch viel mehr fehler erhalten.

              Außerdem ist es immer schlecht eine Behauptung zu posten, ohne den Code zu zeigen. Du bist schon im Projekthilfe-Forum. Noch mehr als geschenkten Code kannst du nun wirklich nicht erwarten.

              Kommentar


              • #8
                ok hat sich erledigt....
                habs hinbekommen....
                Weltbestepartybilder.de Community, Partybilder, uvm...

                Kommentar


                • #9
                  Supi!

                  Dann poste bitte noch die Lösung, falls jemand ein ähnliches Problem hat. Danke!

                  Kommentar


                  • #10
                    Jo klaro hier das Koplette script (mit allen umgestalltungen von mir^^)
                    PHP-Code:
                    <?
                    $home_pfad = "user/";
                    $eintraege_pro_seite = 10;

                    $seite = isset($_GET['seite']) ? $_GET['seite'] : 1;

                    $start = ($seite-1) * $eintraege_pro_seite;
                    $ende = $start + $eintraege_pro_seite;



                    /**
                     * get all users
                     */
                    $dh = opendir($home_pfad);
                    while($datei = readdir($dh))
                    {
                        if($datei !== "" && $datei !== "." && $datei !== ".." && $datei !=="userbilder" && is_file($home_pfad."/".$datei))
                        {

                            $files[] = $datei;
                            
                        }
                        
                    }

                    closedir($dh);

                    $huii= count($files);

                    /**
                     * output
                     */
                    echo '<p>' . count($files) . ' User gefunden!</p>'; 

                    $anzahl_seiten = $huii / $eintraege_pro_seite;



                    /**
                     * pagination
                     */
                    echo "<b>Seite:</b> ";
                    echo '<b>'.$_GET['seite'].'</b><br>';

                    //Ausgabe der Links zu den Seiten
                    IF (isset($_GET['seite'])){

                    $i = $_GET['seite'];

                    }else{

                    $i = 1;

                    }
                    $b = $i - 1;
                    $c = $i + 1;
                    IF($b == 0){
                    ?>
                     <a href="home.php?user=profil-show-all&seite=<? echo $c; ?>">*   Eine Seite vor   *</a>
                    <?

                    }else{
                    ?>
                     <a href="home.php?user=profil-show-all&seite=<? echo $b; ?>">*   Eine Seite zurück   *</a>
                    <?


                    If($anzahl_seiten > $c){
                    ?>
                     <a href="home.php?user=profil-show-all&seite=<? echo $c; ?>">*   Seite vor   *</a>
                    <?

                    }else{}    }
                    /**
                     * table
                     */
                    ?>

                    <table border="0" width="80%" height="25">
                      <tr>
                        <th>Username</th>
                        <th></th>
                      </tr>
                      
                    <?php

                    $i 
                    1;
                    $Profil_ansehen "Profil ansehen";
                    for(
                    $i=$start;$i $ende$i++ )

                    echo 
                    '
                          <tr>
                            <td>' 
                    $files[$i] . '</td>
                            <td><a href="home.php?user=profil-show&userprofil=' 
                    $files[$i] . '">'.$Profil_ansehen.'</td>
                          </tr>'
                    ;
                        
                    ?>
                    Weltbestepartybilder.de Community, Partybilder, uvm...

                    Kommentar

                    Lädt...
                    X