Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Blättern in MySQL Ergebnisliste

  1. #1
    Teeny
    Registriert seit
    26.05.2012
    Beiträge
    22
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Blättern in MySQL Ergebnisliste

    Hallo Zusammen.

    Ich werde noch Wahnsinnig. Seit einigen Tagen bin ich dran in meine Ergebnisliste eine Blätternavigation einzubauen. Die erste Seite wird auch richtig angezeigt, nur - sobald ich auf den Links mit 2, 3, 4 usw. klicke - kommt eine leere Seite und es werden keine weiteren Daten angezeigt (obwohl vorhanden). OHNE die Blätternavigation sind die Ausgabedaten korrekt.
    Vielleicht hab ich auch nur eine Klammer an der falschen Stelle gesetzt oder es ist nur eine Kleinigkeit. Ich blicke nunmehr nicht mehr durch.

    Hier der Code (aufs nötigste abgespeckt):

    PHP-Code:
    // In $result ist die per Suchformular gefilterte Ergebnismenge
      
    ...
      ...
      
    $result mysql_query($query);
      
    $menge mysql_num_rows ($result);



      
    $datensaetze_pro_seite "3";          // Anzahl der Datensaetze die Pro Seite angezeigt werden sollen
      
    $p "5";                              // Anzahl der Links die in der Seitenavigation ausgegeben werden
      
    $total $menge;                       // liefert die Anzahl der Datensaetze der Abfrage
      
    $seiten ceil($total $datensaetze_pro_seite);// Berechnet die Seitenanzahl insgesamt
      
    if(empty($_GET['go'])){       // korrigieren der aktuellen Seite
       
    $go 1;                   // Sofern $go nicht uebergeben wurde
      
    }elseif($_GET['go'] <= || $_GET['go'] > $seiten){
       
    $go 1;                // Variable definieren
      
    }else{            // Wenn Obriges nicht zutraf
       
    $go mysql_real_escape_string($_GET['go']);// Variable definieren
      
    }
      
    $links = array();         // Linkkette bilden

      // Seite die vor der aktuellen Seite kommt definieren
      
    if(($go $p) < 1){ $davor $go 1;  }else { $davor $p; }            

      
    // Seite die nach der aktuellen Seite kommt definieren
      
    if(($go $p) > $seiten){ $danach $seiten $go; }else{ $danach $p; }   
      
    $off = ($go $davor);        // Variable definieren   
      
    if ($go$davor 1){        // Link definieren => Zur Erste Seite springen         
       
    $first 1;
       
    $links[] = "<a href=\"$pfad?go=$first\" title=\"Zur ersten Seite springen\">&laquo; Erste ...</a>\n";      
      }      
      if(
    $go != 1){          // Link definieren => eine Seite zurueck blaettern          
       
    $prev $go-1;
       
    $links[] = "<a href=\"$pfad?go=$prev\" title=\"Eine Seite zurueck blaettern\"> &laquo;</a>\n";     
      }   

      for(
    $i $off$i <= ($go $danach); $i++){ // einzelne Seitenlinks erzeugen
     
    if ($i != $go){          // Link definieren            
        
    $links[] = "<a href=\"$pfad?go=$i\">$i</a>\n";
     }elseif(
    $i == $seiten) {       // aktuelle Seite, ein Link ist nicht erforderlich             
        
    $links[] = "<span class=\"current\">[ $i ]</span>\n";  
     }elseif(
    $i == $go){        // aktuelle Seite, ein Link ist nicht erforderlich             
        
    $links[] = "<span class=\"current\">[ $i ]</span>\n";
     } 
    // close if $i      
      
    }                
      if(
    $go != $seiten){        // Link definieren => eine Seite weiter blaettern       
       
    $next $go+1;
       
    $links[] = "<a href=\"$pfad?go=$next\" title=\"Eine Seite weiter blaettern\"> &raquo; </a>\n";
      }      
      if(
    $seiten $go $p ){      // Link definieren => Zur letzen Seite springen   
       
    $last $seiten
       
    $links[] = "<a href=\"$pfad?go=$last\" title=\"Zur letzten Seite springen\">... Letzte &raquo;</a>\n";
      }      
      
    $start = ($go-1) * $datensaetze_pro_seite;      // Berechne den Startwert fuer die DB
      
    $link_string implode(" "$links);            // Zusammenfuegen der einzelnen Links zu einem String
      
    $abfrage mysql_query($query " LIMIT $start,$datensaetze_pro_seite ");
      
    // Daten ausgeben
      
    while($row mysql_fetch_object($abfrage))
      {
       echo 
    $row->id;
       echo 
    $row->artikel;
      } 

      
    // -------------------------------------- Seitennavigation ausgeben ----------------------------
    echo "<div id=\"navigation\">\n";
       echo 
    "<span class=\"pages\">Seite ".$go." von ".$seiten."</span>\n";
       echo 
    $link_string
       echo 
    "</div> \n";
      
    // -------------------------------------- Seitennavigation ende --------------------------------


    Schon jetzt vielen Dank für jeden Tip!
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: Blättern in MySQL Ergebnisliste

    Richtig debuggen


    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.


    Ein brauchbares Tutorial: http://phpforum.de/forum/showthread.php?t=218213

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    26.05.2012
    Beiträge
    22
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Blättern in MySQL Ergebnisliste

    Hallo Bandit.

    Danke für deine rasche Antwort. Den Großteill deiner Punkte hatte ich schon gemacht. Auch hatte ich mir an verschiedenen Stellen Variablen und "Test-Text" ausgeben lassen. Dazu kommt halt, dass ich in der PHP-Programmierung noch nicht soooo viel Ahnung habe. Meist kann ich ein Problem zwar eingrenzen, weiß aber dann nicht immer welche Befehle oder Wege ich einsetzen sollte um das Problem zu lösen.

    Allerdings hatte ich die Sache mit "error_reporting..." total 'vergessen' (Ich weiß, ist peinlich). Hab´s jetzt mal eingefügt und hat mir auch ein Stück weiter geholfen.

    Mittlerweile hab ich die untere geschweifte Klammer nach oben versetzt und jetzt werden ab der zweiten Seite auch Daten angezeigt. Allerdings ALLE Daten - nicht die aus der Selektionsmenge.
    Nach dem Abschicken des Selektionsformulars läuft dieser Code:

    PHP-Code:
      if (isset($_POST['submit']))
      {
         unset(
    $_POST['submit']);
    ...
    ... 
    und danach werden dann per Select die entsprechenden Daten aus der DB geholt. Mir ist jetzt durch einen Test aufgefallen, dass beim Aufruf der zweiten Seite (aus der Ergebnisliste) nicht mehr in die
    PHP-Code:
    if (isset($_POST['submit'])) 
    -Schleife eingesprungen wird, da der Submit-Button ja nur beim ersten Durchlauf gesetzt ist. Ich denke dass das der Fehler ist. Nur weiß ich nicht wie ich den Submit-Button erneut als "geklickt" setzen kann. (Sofern das WIRKLICH der Fehler sein sollte).

  4. #4
    Bandit
    Gast

    Standard AW: Blättern in MySQL Ergebnisliste

    Wie sollte bei einem Link auch was in $_POST stehen? Da hast du die gewünschten Werte in $_GET. Die Abfrage könntest du in einer Session zwischenspeichern
    Geändert von Bandit (29.05.2012 um 15:47 Uhr)

  5. #5
    Teeny
    Themenstarter

    Registriert seit
    26.05.2012
    Beiträge
    22
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Blättern in MySQL Ergebnisliste

    Oh ja, da hast du natürlich recht!
    Hab´s jetzt auf GET umgestellt geht aber auch nicht. Die erste Seite paßt immer, nur ab der zweiten hauts nicht mehr hin. GET kann ich in diesem Fall sowieso nicht verwenden da ich ein Suchformular mit ca. 30 Feldern habe. Das würde die mögliche Länge sprengen.

    Keine Ahnung - ich geb´s auf. Bin schon seit einigen Tagen an der Sache.

  6. #6
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Blättern in MySQL Ergebnisliste

    haste dir mal in prosa aufgeschrieben, wie das funktionieren soll??
    hab ich bei solchen dingern immer mal gemacht, wenn ich hängen blieb, dadurch wird einem das problem etwas sichtbarer, bzw kann man dadurch dann vom prosa den code ableiten
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  7. #7
    Teeny
    Themenstarter

    Registriert seit
    26.05.2012
    Beiträge
    22
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Blättern in MySQL Ergebnisliste

    Hallo synaptic.

    Vielleicht hältst du mich für blöd aber ich hab keine Ahnung was du mit PROSA meinst. Noch nie gehört...

    Weißt du, das komische ist, dass jedes Script für sich alleine wunderbar läuft. Nur wenn ich sie zusammen "baue" hab ich nur auf der ersten Seite die richtige Ergebnisliste. Auf der zweiten Seite kommt entweder NICHTS (das hab ich ja jetzt behoben) oder die Anzeige ALLER Daten aus der DB (nicht die gewünschte, selektierte).
    Ich bin sicher dass es für ein geübtes Auge eine Kleinigkeit ist. Aber da ich noch nicht so viel Erfahrung habe in PHP (jedoch wie ein Verrückter mehrere Stunden jeden Tag lerne) kenn ich halt noch nicht alle Konstellationen und Möglichkeiten dieser mächtigen Sprache. Und dabei bin ich keiner der bei jeder Kleinigkeit gleich ins Forum schreibt. Bevor ich etwas poste hab ich schon tagelang selbst probiert.
    Hab vielen Dank!

  8. #8
    Bandit
    Gast

    Standard AW: Blättern in MySQL Ergebnisliste

    Nochmal: du musst die Basisabfrage ohne Bedingung in einer Session speichern. Nach Klick auf auf einen Link hängst du dann die Get-Parameter dran.

  9. #9
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Blättern in MySQL Ergebnisliste

    http://de.wikipedia.org/wiki/Prosa

    halt einfach mal runterschreiben, was wie funktionieren soll..
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  10. #10
    Teeny Avatar von 7even
    Registriert seit
    16.05.2012
    Beiträge
    21
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Blättern in MySQL Ergebnisliste

    vielleicht hilft dir das weiter
    mfg 7even

Ähnliche Themen

  1. mysql.php connected sich ncht mit der MySQL Datenbank
    Von Unregistriert im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 17.06.2010, 16:51
  2. MySQL @ PHP?
    Von schwandi im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 12.04.2009, 14:49
  3. per PHP neue MySQL-Datenbank und MySQL-Benutzer anlegen
    Von sudeki05 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 15.04.2007, 19:40
  4. Mit Button eine Pagesize weiter blättern in einem iFrame
    Von tru_visual im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 06.12.2005, 13:44
  5. Buchstaben blättern
    Von im Forum Flash Forum
    Antworten: 1
    Letzter Beitrag: 13.07.2005, 13:09

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •