Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit der Variablen übergabe...

Einklappen

Neue Werbung 2019

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

  • Problem mit der Variablen übergabe...

    Hi,

    ich habe ein problem mit GET.
    Ich übergebe in meinem Forum die ID eines Threads, wenn ich den Thread öffnen.
    Mit dieser ID sollen die Daten aus der DB geholt werden die im Thread stehen.
    Ich habe es jetzt geprüft in dem ich mir die $_GET Variable ausgeben haben lasse.
    Sie wird also richtig übergeben.
    Aber trotzdem werden nicht die Daten aus der Db geholt und ich weiß einfach nicht warum:

    PHP-Code:
                $sql="SELECT post, autor, autor_id, thread_id, date, forum_id FROM posts WHERE thread_id ='".$_GET["thread_id"]."'";
                
    $result mysql_query($sql) or die(mysql_error().'
    Query: '
    .$sql);
                while(
    $post mysql_fetch_array($result))
                {
                  
    $post $post['post'];
                  
    $autor $post['autor'];
                  
    $autor_id $post['autor_id'];
                  
    $thread_id $post['thread_id'];
                  
    $date $post['date'];
                  
    $forum_id $post['forum_id'];
                }

                 
    $sql="SELECT avatar, rang, posts, gender, admin FROM user WHERE id ='".$autor_id."'";
                
    $result mysql_query($sql) or die(mysql_error().'
    Query: '
    .$sql);
                while(
    $autor mysql_fetch_array($result))
                {
                  
    $avatar $autor['avatar'];
                  
    $rang $autor['rang'];
                  
    $posts_anzahl $autor['posts'];
                  
    $gender $autor['gender'];
                  
    $admin $autor['admin'];
                } 
    Vielleicht könnt ihr mir ja hlefen?
    Danke[/code]


  • #2
    Mach mal die einfachen Quotes bei thread_id = in deinem SQL weg. Zahlen benötigen das nicht. Ich nehme an, dass dann auch der Query mit einem die() fehlschlägt.

    Kommentar


    • #3
      Ich vermute mal der untere Block muss eigentlich in die while-Schleife.
      Aber abgesehen davon, kopier doch mal den Inhalt von $sql in phpMyAdmin...das ist immer extrem hilfreich.

      Kommentar


      • #4
        Meinst du das so Zergling?:

        PHP-Code:
        <?php
                    $sql
        ="SELECT post, autor, autor_id, date, forum_id FROM posts WHERE thread_id ='".$_GET['thread_id']."'";
                    
        $result mysql_query($sql) or die(mysql_error().'
        Query: '
        .$sql);
                    while(
        $post mysql_fetch_array($result))
                    {
                      
        $post $post['post'];
                      
        $autor $post['autor'];
                      
        $autor_id $post['autor_id'];
                      
        $thread_id $post['thread_id'];
                      
        $date $post['date'];
                      
        $forum_id $post['forum_id'];
                      
                                   
        $sql="SELECT avatar, rang, posts, gender, admin FROM user WHERE id ='".$autor_id."'";
                    
        $result mysql_query($sql) or die(mysql_error().'
        Query: '
        .$sql);
                    while(
        $autor mysql_fetch_array($result))
                    {
                      
        $avatar $autor['avatar'];
                      
        $rang $autor['rang'];
                      
        $posts_anzahl $autor['posts'];
                      
        $gender $autor['gender'];
                      
        $admin $autor['admin'];
                    }
                    }
        ?>
        Ich habe alles gemacht klappt trotzdem nicht.
        In der Db werden mir auch die richtigen Sachen angezeigt, wenn ich den Code dort eingebe.

        Kommentar


        • #5
          Zergling, schlag dich allein mit malte rum, mich ignoriert er anscheinend

          Kommentar


          • #6
            Wenn cih das mache was du sagst bekomme ich folgende Meldung:

            Notice: Use of undefined constant thread_id - assumed 'thread_id' in D:\Webdesign\xampp\htdocs\forum\posts.php on line 12

            Kommentar


            • #7
              Du hast zwar Recht, was vom Typ Zahl ist sollte nicht in Anführungszeichen gestellt werden, aber ein Fehler ist es nicht.

              @malte: Ja so meine ich es, denn schließlich willst du wohl von jedem Poster den Avatar, Rang etc und nicht nur vom letzten?

              Dass jetzt nichts ausgegeben wird liegt halt daran, dass du kein print oder echo zur Ausgabe verwendest, das ist dir aber klar oder? Sehe sonst eigentlich keinen Fehler, wenn du sagst der SQL-Befehl wäre so korrekt.

              Edit: Die Fehlermeldung passt nicht zum obigen Code, wenn du eine Lösung willst musst du uns schon die richtigen Code-Passagen zeigen ^^

              Kommentar


              • #8
                Nochmal:

                statt

                Code:
                $sql="SELECT post, autor, autor_id, date, forum_id FROM posts WHERE thread_id ='".$_GET['thread_id']."'";
                mach

                Code:
                $sql="SELECT post, autor, autor_id, date, forum_id FROM posts WHERE thread_id =".$_GET['thread_id'];

                Kommentar


                • #9
                  Bekomem immer noch folgende mEldungen:

                  Notice: Undefined variable: avatar in D:\Webdesign\xampp\htdocs\forum\posts.php on line 111

                  Notice: Undefined variable: admin in D:\Webdesign\xampp\htdocs\forum\posts.php on line 111

                  Notice: Undefined variable: avatar in D:\Webdesign\xampp\htdocs\forum\posts.php on line 113

                  Notice: Undefined variable: rang in D:\Webdesign\xampp\htdocs\forum\posts.php on line 119

                  Notice: Undefined variable: gender in D:\Webdesign\xampp\htdocs\forum\posts.php on line 120

                  Notice: Undefined variable: gender in D:\Webdesign\xampp\htdocs\forum\posts.php on line 122

                  Kommentar


                  • #10
                    Zitat von Zergling
                    Du hast zwar Recht, was vom Typ Zahl ist sollte nicht in Anführungszeichen gestellt werden, aber ein Fehler ist es nicht.
                    Heute stellt sich hier anscheinend jeder blöd. Die Anführungsstriche verhindern festzustellen, ob sich überhaupt ein Wert in $_GET befindet.

                    Code:
                    SELECT * FROM tabelle WHERE id = '' // in Mysql kein Fehler
                    Code:
                    SELECT * FROM tabelle WHERE id = // Fehler

                    Kommentar


                    • #11
                      Ach und wir wissen was in Zeile 119 steht? Na klar wir sind Allwissend, ich denk mal kurz drüber nach wer Kennedy ermordet hat...

                      Kommentar


                      • #12
                        na ja die Variable ist halt ned definiert worden viel mer kann ich dazu ned sagen
                        Wie man Fragen richtig stellt

                        Kommentar


                        • #13
                          Also ich habe nochmal alles überarbeitet.

                          PHP-Code:
                          <?php
                                      $sql
                          ="SELECT post, autor, autor_id, date, forum_id FROM posts WHERE thread_id =".$_GET['thread_id'];
                                      
                          $result mysql_query($sql) or die(mysql_error().'
                          Query: '
                          .$sql);
                                      while(
                          $post mysql_fetch_array($result))
                                      {
                                        
                          $post $post['post'];
                                        
                          $autor $post['autor'];
                                        
                          $autor_id $post['autor_id'];
                                        
                          $thread_id $post['thread_id'];
                                        
                          $date $post['date'];
                                        
                          $forum_id $post['forum_id'];
                                        
                                                     
                          $sql="SELECT avatar, rang, posts, gender, admin FROM user WHERE id =".$autor_id."";
                                      
                          $result mysql_query($sql) or die(mysql_error().'
                          [b]Query:[/b] '
                          .$sql);
                                      while(
                          $autor mysql_fetch_array($result))
                                      {
                                        
                          $avatar $autor['avatar'];
                                        
                          $rang $autor['rang'];
                                        
                          $posts_anzahl $autor['posts'];
                                        
                          $gender $autor['gender'];
                                        
                          $admin $autor['admin'];
                                      }
                                      }

                          ?>
                          Das ist jetzt meine Fehlermeldun:

                          Unknown column 'H' in 'where clause'
                          Query: SELECT avatar, rang, posts, gender, admin FROM user WHERE id =H

                          Aber es ist kein H sondern eine 1 in der DB, was ist falsch?

                          Kommentar


                          • #14
                            AHA! Genau das wollte ich.

                            Und nun mach ein print_r($_GET) vor dem Query und poste es hier.

                            Kommentar


                            • #15
                              Array ( [thread_id] => 1 )

                              PHP-Code:
                              <?php
                                          $sql
                              ="SELECT post, autor, autor_id, date, forum_id FROM posts WHERE thread_id =".$_GET['thread_id'];
                                          
                              $result mysql_query($sql) or die(mysql_error().'
                              Query: '
                              .$sql);
                                          while(
                              $post mysql_fetch_array($result))
                                          {
                                            
                              $post $post['post'];
                                            
                              $autor $post['autor'];
                                            
                              $autor_id $post['autor_id'];
                                            
                              $thread_id $post['thread_id'];
                                            
                              $date $post['date'];
                                            
                              $forum_id $post['forum_id'];
                                            
                                           [
                              bprint_r($_GET);[/b]
                                            
                                                         
                              $sql="SELECT avatar, rang, posts, gender, admin FROM user WHERE id =".$autor_id."";
                                          
                              $result mysql_query($sql) or die(mysql_error().'
                              [b]Query:[/b] '
                              .$sql);
                                          while(
                              $autor mysql_fetch_array($result))
                                          {
                                            
                              $avatar $autor['avatar'];
                                            
                              $rang $autor['rang'];
                                            
                              $posts_anzahl $autor['posts'];
                                            
                              $gender $autor['gender'];
                                            
                              $admin $autor['admin'];
                                          }
                                          }


                              ?>

                              Kommentar

                              Lädt...
                              X