tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
204
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    medico medico ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    212
    Hi
    ich habe auf meiner Seite eine Datenbankabfrage aus 2 Tabellen, was auch super klappt. Nun möchte ich dort eine Blätterfunktion einbauen, die ich im Netz gefunden habe. Nur leider klappt das nicht so ganz.

    Ich lasse per POST eine ID übergeben, dann wir mir der Ergebniss angezeigt, wenn ich aber blättere dann ist das Ergebniss gleich null. Wenn ich bei der Abfrage einen festen Wert in die Abfrage eingebe klappt es.

    Habe jetzt schon rumprobiert mit Session aber das funktioniert auch nicht.
    Könnt Ihr mir weiterhelfen? Hier mal der Code

    PHP-Code:
    <?
    include "inc/header.php";
    include 
    "inc/db.inc.php";
    //////////////////////////////////
    //---------------------------------------------------  

    $pfad $_SERVER['PHP_SELF'];    // aktuellen Dateipfad ermitteln, wichtig fuer die Links der Seitennavigation
    $query mysql_query("SELECT
        genre.*,
        movie.*
    FROM
        genre
        INNER JOIN movie
            ON movie.id = genre.movie
    WHERE
        genre.genre = 
    $_POST[genre2]"); // DB Abfragee


    // ------------------------------------------------------------------------

    $datensaetze_pro_seite "10";      // Anzahl der Datensaetze die Pro Seite angezeigt werden sollen
    $p "3";                                // Anzahl der Links die in der Seitenavigation ausgegeben werden

    $total mysql_num_rows($query);                      // 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 Obiges 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=\"current2\">[ $i ]</span>\n";  
            
      }elseif(
    $i == $go){ // aktuelle Seite, ein Link ist nicht erforderlich             
      
            
    $links[] = "<span class=\"current2\">[ $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

    ///////////////////////////

    $result_search mysql_query("SELECT
        genre.*,
        movie.*
    FROM
        genre
        INNER JOIN movie
            ON movie.id = genre.movie
    WHERE
        genre.genre = 
    $_POST[genre2] LIMIT $start,$datensaetze_pro_seite ");
    ?>
    ......
    <?
    while($ergs=@mysql_fetch_assoc($result_search)) {
    echo 
    $ergs[titel];
    }
    ?>
    ...
     <?
    // -------------------------------------- Seitennavigation ausgeben ----------------------------
     
    echo "<div id=\"navigation2\">\n";

     echo 
    "<span class=\"pages2\">Seite ".$go." von ".$seiten."</span>\n";

     echo 
    $link_string// Ausgabe der Seitennavigation
        
     
    echo "</div> \n";
    // -------------------------------------- Seitennavigation ende --------------------------------
    ?>
    Danke lg medico
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Fehlemeldung?
    Fehlerverhalten?
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Tim Bureck Tim Bureck ist offline Mitglied Platin
    Registriert seit
    Apr 2009
    Ort
    Düsseldorf (NRW)
    Beiträge
    508
    Dein Select Statement hängt von einer POST-Variable ab, sobald du jedoch mittels eines Links eine neue Seite aufrufst, generierst du eine neue GET-Abfrage, d.h. deine POST-Variable ist leer und kann somit auch nichts finden.

    Entweder ersetzt du die Blätterfunktion (die Links) mit Buttons in einem Formular (find ich persönlich unschön, aber jedem das Seine..) und verbindest diese so mit einem POST-Request (bei dem du die von dir benötigte Variable übergibst) ooooder
    du änderst dein Select Statement so ab, dass du eine GET-Variable entgegennimmst, die dann mit jedem Link mitgeliefert wird.

    Übrigens solltest du $_POST[genre2] mysql_real_escape'n.. (tolles Wort;D)
     

  4. #4
    medico medico ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    212
    Zitat Zitat von Tim Bureck Beitrag anzeigen
    Dein Select Statement hängt von einer POST-Variable ab, sobald du jedoch mittels eines Links eine neue Seite aufrufst, generierst du eine neue GET-Abfrage, d.h. deine POST-Variable ist leer und kann somit auch nichts finden.

    Entweder ersetzt du die Blätterfunktion (die Links) mit Buttons in einem Formular (find ich persönlich unschön, aber jedem das Seine..) und verbindest diese so mit einem POST-Request (bei dem du die von dir benötigte Variable übergibst) ooooder
    du änderst dein Select Statement so ab, dass du eine GET-Variable entgegennimmst, die dann mit jedem Link mitgeliefert wird.

    Übrigens solltest du $_POST[genre2] mysql_real_escape'n.. (tolles Wort;D)
    Einfach genial daran lag es....ach manchmal hat man echt ein Brett vor dem Kopf. DANKE

    Was einst du mit mysql_real_escape'n****?
     

  5. #5
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Zitat Zitat von medico Beitrag anzeigen
    Was einst du mit mysql_real_escape'n****?
    Hast du doch schon in deinem Code...
    PHP-Code:
        $go mysql_real_escape_string($_GET['go']);     // Variable definieren 
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

Ähnliche Themen

  1. Problem bei Blätterfunktion
    Von sugar im Forum PHP
    Antworten: 2
    Letzter Beitrag: 19.09.09, 19:31
  2. Problem mit Blätterfunktion
    Von patator im Forum PHP
    Antworten: 2
    Letzter Beitrag: 17.12.08, 20:17
  3. Problem mit Blätterfunktion
    Von DerGraf87 im Forum PHP
    Antworten: 3
    Letzter Beitrag: 26.02.06, 22:25
  4. Blätterfunktion Problem
    Von markberg im Forum PHP
    Antworten: 18
    Letzter Beitrag: 02.09.05, 23:21
  5. Blätterfunktion Problem!
    Von vodka im Forum PHP
    Antworten: 2
    Letzter Beitrag: 10.03.04, 09:51