News-Script | Nach 20 Eintragen Seitenumruch!

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

  • News-Script | Nach 20 Eintragen Seitenumruch!

    hi!

    ich lese daten aus einer datenbank aus und schreibe diese folgender maßen auf den "bildschirm":

    PHP-Code:
    $dbverbindung mysql_connect ($host$user$password);

    $dbanfrage "SELECT * from $tabelle ORDER BY datum DESC";
    $result mysql_db_query ($dbname$dbanfrage$dbverbindung);

    $none '- none -';
      
    $empty true;
    $ausgabe mysql_fetch_array($result);
    while (
    $ausgabe == true) { 
            
    $datum $ausgabe['datum']; 
            
    $d_datum date('d.m.Y'strtotime($datum));
            print(
    "<b> news:: $d_datum </b> <br />".$ausgabe['info']."<br />"); 
            
            
    $ausgabe mysql_fetch_array($result);
            if(
    $ausgabe == true
                    print(
    "<br />--------------------------------------------------------------------------------------<br /><br />");
    }

    mysql_close ($dbverbindung
    nun soll iene variable, z.b- "i" mitgezählt und nach 20 einträgen einen seitenumbruch machen!
    sodass dann unten die seiten aufgeführt es sei denn es sind weniger oder genau 20 einträge!

    DANKE FÜR JEDE HILFE!

  • #2
    Falsches Forum! *verschieb*

    Such mal im FOrum nach blättern!

    Kommentar


    • #3
      PROBLEM: Seitenumbruch!

      Hi!

      Ich hab einen Fehler im Code, ich kriegs irgendwie nich hin!
      Ich lese die Daten aus einer Datenbank aus in der bisher 6 Einträge sind!

      PHP-Code:
      $Anzahl ="5";

      $dbverbindung mysql_connect ($host$user$password);

      $dbanfrage "SELECT * from $tabelle ORDER BY datum DESC";
      $result mysql_db_query ($dbname$dbanfrage$dbverbindung);

      $none '- none -';

      $result_2 mysql_query("select * from $tabelle");
      $menge = @mysql_numrows($result_2); /* Funktion ermittelt wieviele Datensätze vorhanden sind */

      // Auf Seiten verteilen
        
      $seiten ceil($menge $Anzahl);

      /* Für das spätere starten des Skriptes ohne Seitenangabe soll die erste Seite angezeigt werden */
      if ( !$z )
        
      $z 1;
        
        
      $maximum $z $Anzahl;
        
      $minimum $maximum $Anzahl;
        
        If (
      $menge 0) {
          
      // Ausgabe der Datensätze, wenn vorhanden
              
      for($i=$minimum;$i $maximum$i++) {
        
              
      $empty true;
              
      $ausgabe mysql_fetch_array($result);
              while (
      $ausgabe == true) { 
                      
      $datum $ausgabe['datum']; 
                      
      $d_datum date('d.m.Y'strtotime($datum));
                       print(
      "<b> news:: $d_datum </b> <br />".$ausgabe['info']."<br />"); 
                      
                      
      $ausgabe mysql_fetch_array($result);
                      if(
      $ausgabe == true
                          print(
      "<br />--------------------------------------------------------------------------------------<br /><br />");
              }
              } 
      // Ende der Zählschleife
        
      // Ende ob $menge > 0 wenn nicht dann gleich Alternative Else Ausgabe
        
        
      else { 
        echo 
      "$none"
        }

      If (
      $menge $Anzahl){
            echo 
      "<b><center>";
            
      $vor $z 1// Gibt einen Statuswert ab der sagt ob es noch ältere Einträge gibt.
            
      $next $z 1// Gibt einen Statuswert ab ob es noch weitere gibt.

            
      If ($vor != ) echo "<a href=\"?content=news&z=$vor\">";
            If (
      $vor == 0) { echo "<strike>Neuere</strike>";
            } else {echo 
      "Neuere"; }
            If (
      $vor !=0) echo "</a>";
            echo 
      " | ";
            If (
      $next <= $seiten) echo "<a href=\"?content=news&z=$next\">";
            If (
      $next $seiten) { echo "<strike>&Aumlltere</strike>";
            } else {echo 
      "&Aumlltere"; }
            If (
      $next <=$seiten) echo "</a>";
            echo
      "</b></center><P>";
       }

      mysql_close ($dbverbindung
      Das Problem ist jetzt, dass er mir nicht die korrekte anzahl der datensätze ausgibt und das hin und herblättern kunktioniert auch nicht!

      DANKE!

      Kommentar


      • #4
        as Problem ist jetzt, dass er mir nicht die korrekte anzahl der datensätze ausgibt und das hin und herblättern kunktioniert auch nicht!
        Wahnsinn. Testausgaben? Lösungsansätze? Normales Debugging eben.

        Kommentar


        • #5
          verstehe, ich kenne diese fehlermeldung:

          "Error: Es funktioniert einfach nicht!"

          begrenze die auswahl in dem sql statement durch LIMIT und gib einfach alles aus, was zurückgeliefert wird.

          Kommentar


          • #6
            kannst du mir ein beispiel geben?

            DANKE

            Kommentar


            • #7
              das SQL-Manual liefert dir tonnen davon. und auch die Suche im Forum...

              Kommentar


              • #8
                Re: PROBLEM: Seitenumbruch!

                Original geschrieben von mike_for_php


                PHP-Code:
                $Anzahl ="5";

                $dbanfrage "SELECT * from $tabelle ORDER BY datum DESC";
                $result mysql_db_query ($dbname$dbanfrage$dbverbindung);

                $result_2 mysql_query("select * from $tabelle");
                $menge = @mysql_numrows($result_2); 
                /* Funktion ermittelt wieviele Datensätze vorhanden sind */ 
                Das Problem ist jetzt, dass er mir nicht die korrekte anzahl
                der datensätze ausgibt und das hin und herblättern kunktioniert auch nicht!

                DANKE! [/B]
                Kann ja nicht funktionieren, wenn du zuerst alle Datensätze ausliest und dann das Array ausgibst.
                Du musst zuerst festlegen, wie viele Datensätze ausgelesen werden (LIMIT),
                und sie erst dann ausgeben.

                So etwa:
                PHP-Code:
                $result mysql_query("select * from linksdb");
                      
                $menge mysql_numrows($result);
                      
                $seitenceil($menge $anzahl);
                      
                $max $seite $anzahl;
                      
                $min $max $Anzahl;

                $inhaltmysql_query("select ... from ... order by ... desc limit $min$Anzahl"); 
                Ich denke, das sollte als Anregung reichen.

                Kommentar


                • #9
                  was muss im wert $seite stehen?

                  Kommentar


                  • #10
                    nummer der aktuellen seite?

                    Heini: gibt es aussagekräftigeren variablennamen als $menge und $anzahl an einer stelle im code?

                    Kommentar


                    • #11
                      warum suchst du nicht mal nach blättern? da gibts sogar fertige codes.

                      Kommentar


                      • #12
                        jetzt gibt er aus, dass kein datensatz mehr vorhanden ist!

                        PHP-Code:
                        $Anzahl ="5";
                        $none '- none -';

                        $dbverbindung mysql_connect ($host$user$password);

                        $result mysql_query("select * from $tabelle");
                        $menge = @mysql_numrows($result); /* Funktion ermittelt wieviele Datensätze vorhanden sind */
                        $seiten ceil($menge $Anzahl); // Auf Seiten verteilen

                        /* Für das spätere starten des Skriptes ohne Seitenangabe soll die erste Seite angezeigt werden */
                        if ( !$z )
                          
                        $z 1;
                          
                          
                        $maximum $z $Anzahl;
                          
                        $minimum $maximum $Anzahl;
                          
                          If (
                        $menge 0) {
                            
                        // Ausgabe der Datensätze, wenn vorhanden
                            
                        $dbanfrage "SELECT * from $tabelle ORDER BY datum DESC limit $min$Anzahl";
                            
                        $inhalt mysql_db_query ($dbname$dbanfrage$dbverbindung);
                                
                                for(
                        $i=$minimum;$i $maximum$i++) {
                          
                                
                        $empty true;
                                
                        $ausgabe mysql_fetch_array($inhalt);
                                while (
                        $ausgabe == true) { 
                                        
                        $datum $ausgabe['datum']; 
                                        
                        $d_datum date('d.m.Y'strtotime($datum));
                                         print(
                        "<b> news:: $d_datum </b> <br />".$ausgabe['info']."<br />"); 
                                        
                                        
                        $ausgabe mysql_fetch_array($inhalt);
                                        if(
                        $ausgabe == true
                                            print(
                        "<br />--------------------------------------------------------------------------------------<br /><br />");
                                }
                                } 
                        // Ende der Zählschleife
                          
                        // Ende ob $menge > 0 wenn nicht dann gleich Alternative Else Ausgabe
                          
                          
                        else { 
                          echo 
                        "$none"
                          }

                        If (
                        $menge $Anzahl){
                              echo 
                        "<b><center>";
                              
                        $vor $z 1// Gibt einen Statuswert ab der sagt ob es noch ältere Einträge gibt.
                              
                        $next $z 1// Gibt einen Statuswert ab ob es noch weitere gibt.

                              
                        If ($vor != ) echo "<a href=\"?content=news&z=$vor\">";
                              If (
                        $vor == 0) { echo "<strike>Neuere</strike>";
                              } else {echo 
                        "Neuere"; }
                              If (
                        $vor !=0) echo "</a>";
                              echo 
                        " | ";
                              If (
                        $next <= $seiten) echo "<a href=\"?content=news&z=$next\">";
                              If (
                        $next $seiten) { echo "<strike>&Auml;ltere</strike>";
                              } else {echo 
                        "&Auml;ltere"; }
                              If (
                        $next <=$seiten) echo "</a>";
                              echo
                        "</b></center><P>";
                         }

                        mysql_close ($dbverbindung

                        Kommentar


                        • #13
                          Du bist alergisch gegen Debuging, hab ich recht?

                          Kommentar


                          • #14
                            hm... ich hab nur ein ziemlich schlechtes auge dafür...
                            deshalb suche ich ja hilfe...

                            DANKE

                            Kommentar


                            • #15
                              hab mal beide zusammengeführt ...
                              TBT

                              Die zwei wichtigsten Regeln für eine berufliche Karriere:
                              1. Verrate niemals alles was du weißt!


                              PHP 2 AllPatrizier II Browsergame

                              Kommentar

                              Lädt...
                              X