daten werden nicht richtig angezeigt

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

  • daten werden nicht richtig angezeigt

    hallo alle zusammen,
    ich habe folgendes html interface:



    und ich habe in meiner sql datenbank 6 tabellen:

    tbl_34, tbl_35, tbl_36, tbl_37, tbl_38, tbl_39, tbl_40 (die zahlen stehen für kalenderwochen)

    im interface soll der benutzer sagen von welcher bis welcher kalenderwoche er die daten abrufen will

    Beispiel:

    wenn ich jetzt kalenderwoche 34 - 35 eingeben und dann auf abrufen klicken siehts so aus:


    perfekt!
    problem ist nur im oberen formular stehen richtiger weise die werte aus der tbl 34 aber im 2 frm stehen sie auch. da müssen aber die werte von tbl 35 rein. warum ?


  • #2
    Das liegt daran, dass die Sonnenwinde derzeit sehr stark wüten …

    Ohne Quelltext können wir dir hier nix sagen!
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      uuups sry denn wollt ich eigentlich mit eingefügt haben ^^

      PHP-Code:
      <!-- HEADER --> 
      <div id="header"> 
      <div>Daten ausgeben 
      <hr> 
      </div><br /> 
       
       
      <!-- TABS --> 
      <div id="tabs"> 
      <a href="int_eintragen.php"><div id="tab_eintragen">Daten eintragen</div></a> 
      <a href="int_aendern.php"><div id="tab_aendern">Daten ändern</div></a> 
      <a href="int_ausgeben.php"><div id="tab_ausgeben">Daten ausgeben</div></a> 
      </div> 
       
       
       
      <!-- CONTAINER --> 
      <div id="container"> 
       
       
       
      <div> 
      <form action="int_ausgeben.php" method="post"> 
       
       
      <!-- ABTEILUNG & KALENDERWOCHE --> 
      <div id="content_option"> 
          <select id="content_option_select" name="abteilung" size="1"> 
                <option>BBK</option> 
                <option>Dragee</option> 
              <option>MAOAM</option> 
              <option>Füllabteilung</option> 
             </select> 
      <input id="content_option_input" type="text" name="von_kw" size="13" maxlength="10"  
      value="Kalenderwoche" onclick="if(this.value && this.value==this.defaultValue)this.value=''" />&nbsp;<span id="content_option_input">bis</span> 
      <input id="content_option_input" type="text" name="bis_kw" size="13" maxlength="10"  
      value="Kalenderwoche" onclick="if(this.value && this.value==this.defaultValue)this.value=''" /> 
      </div> 
       
       
       
       
      <!-- BUTTON --> 
      <div align="right"><input type="submit" name="button_ausgeben" value="Abrufen" /></div> 
       
      </form> 
      </div></div> 
       
      <?php 
       
      if(isset($_POST['button_ausgeben'])){ 
       
       
      // Einstellungen abfragen 
      $von_kw $_POST['von_kw']; 
      $bis_kw $_POST['bis_kw']; 
      $abteilung $_POST['abteilung']; 
      $num1=array();$be1=array(); 
      $num2=array();$be2=array(); 
      $num3=array();$be3=array(); 
      $num4=array();$be4=array(); 
       
      // Array parameter 
      $x1 =  0
      $x2 =  1
      $x3 =  2
      $x4 =  3
      $x5 =  4
      $x6 =  5
       
      // Datenbankdaten einbinden 
      include("dbconnect.php"); 
       
      $rows = array("NUM I""Bemerkung I""NUM II""Bemerkung II""NUM III""Bemerkung III""NUM IV""Bemerkung IV"); 
       
      while(
      $von_kw <= $bis_kw
              { 
                  
      $kw $von_kw
                  
      $von_kw ++; 
       
       
      $abfrage "SELECT * FROM `$kw` ORDER BY ID"
      $ergebnis mysql_query($abfrage); 
      while(
      $row mysql_fetch_array($ergebnis)) 
                  { 
                      
      // Werte der SQL-Abfrage an Array  
                       
      $num1[]= $row ["NUM I"];    $be1[]= $row ["Bemerkung I"];  
                       
      $num2[]= $row ["NUM II"];    $be2[]= $row ["Bemerkung II"];  
                       
      $num3[]= $row ["NUM III"];    $be3[]= $row ["Bemerkung III"];  
                       
      $num4[]= $row ["NUM IV"];    $be4[]= $row ["Bemerkung IV"];  
       
                      
      // NUMS addieren 
                      
      $add = array(    $row->$rows[0], $row->$rows[1], $row->$rows[2], $row->$rows[3],  
                                      
      $row->$rows[4], $row->$rows[5], $row->$rows[6], $row->$rows[7]); 
                      
      $summe array_sum($add);                 
       
                  }
      // While Schleife SQL 
       
      echo
      <br /> 
      <!-- CONTAINER --> 
      <div id="container"> 
       
       
       
      <div> 
      <form action="int_ausgeben.php" method="post"> 
       
       
       
      <!-- ÜBERSCHRIFTEN --> 
      <table cellspacing="4"> 
        <tr> 
          <td></td> 
          <td id="content_beschriftung">Bemerkung I</td> 
          <td id="content_beschriftung">Bemerkung II</td> 
          <td id="content_beschriftung">Bemerkung III</td> 
          <td id="content_beschriftung">Bemerkung IV</td> 
        </tr> 
       
       
       
      <!-- MONTAG --> 
      <tr> 
      <td id="content_beschriftung">Montag</td> 
      <td><input id="content_input" type="text" name="num1_mo" size="2" maxlength="100" value='
      .$num1[$x1].' />&nbsp;<input id="content_input" type="text" name="data1_mo" size="11" maxlength="100" value='.$be1[$x1].' /></td> 
      <td><input id="content_input" type="text" name="num2_mo" size="2" maxlength="100" value='
      .$num2[$x1].' />&nbsp;<input id="content_input" type="text" name="data2_mo" size="11" maxlength="100" value='.$be2[$x1].' /></td> 
      <td><input id="content_input" type="text" name="num3_mo" size="2" maxlength="100" value='
      .$num3[$x1].' />&nbsp;<input id="content_input" type="text" name="data3_mo" size="11" maxlength="100" value='.$be3[$x1].' /></td> 
      <td><input id="content_input" type="text" name="num4_mo" size="2" maxlength="100" value='
      .$num4[$x1].' />&nbsp;<input id="content_input" type="text" name="data4_mo" size="11" maxlength="100" value='.$be4[$x1].' /></td> 
      </tr> 
       
       
       
      <!-- DIENSTAG --> 
      <tr> 
      <td id="content_beschriftung">Dienstag</td> 
      <td><input id="content_input" type="text" name="num1_di" size="2" maxlength="100" value='
      .$num1[$x2].' />&nbsp;<input id="content_input" type="text" name="data1_di" size="11" maxlength="100" value='.$be1[$x2].' /></td> 
      <td><input id="content_input" type="text" name="num2_di" size="2" maxlength="100" value='
      .$num2[$x2].' />&nbsp;<input id="content_input" type="text" name="data2_di" size="11" maxlength="100" value='.$be2[$x2].' /></td> 
      <td><input id="content_input" type="text" name="num3_di" size="2" maxlength="100" value='
      .$num3[$x2].' />&nbsp;<input id="content_input" type="text" name="data3_di" size="11" maxlength="100" value='.$be3[$x2].' /></td> 
      <td><input id="content_input" type="text" name="num4_di" size="2" maxlength="100" value='
      .$num4[$x2].' />&nbsp;<input id="content_input" type="text" name="data4_di" size="11" maxlength="100" value='.$be4[$x2].' /></td> 
      </tr> 
       
       
       
      <!-- MITTWOCH --> 
      <tr> 
      <td id="content_beschriftung">Mittwoch</td> 
      <td><input id="content_input" type="text" name="num1_mi" size="2" maxlength="100" value='
      .$num1[$x2].' />&nbsp;<input id="content_input" type="text" name="data1_mi" size="11" maxlength="100" value='.$be1[$x2].' /></td> 
      <td><input id="content_input" type="text" name="num2_mi" size="2" maxlength="100" value='
      .$num2[$x2].' />&nbsp;<input id="content_input" type="text" name="data2_mi" size="11" maxlength="100" value='.$be2[$x2].' /></td> 
      <td><input id="content_input" type="text" name="num3_mi" size="2" maxlength="100" value='
      .$num3[$x2].' />&nbsp;<input id="content_input" type="text" name="data3_mi" size="11" maxlength="100" value='.$be3[$x2].' /></td> 
      <td><input id="content_input" type="text" name="num4_mi" size="2" maxlength="100" value='
      .$num4[$x2].' />&nbsp;<input id="content_input" type="text" name="data4_mi" size="11" maxlength="100" value='.$be4[$x2].' /></td> 
      </tr> 
       
       
       
      <!-- DONNERSTAG --> 
      <tr> 
      <td id="content_beschriftung">Donnerstag</td> 
      <td><input id="content_input" type="text" name="num1_do" size="2" maxlength="100" value='
      .$num1[$x3].' />&nbsp;<input id="content_input" type="text" name="data1_do" size="11" maxlength="100" value='.$be1[$x3].' /></td> 
      <td><input id="content_input" type="text" name="num2_do" size="2" maxlength="100" value='
      .$num2[$x3].' />&nbsp;<input id="content_input" type="text" name="data2_do" size="11" maxlength="100" value='.$be2[$x3].' /></td> 
      <td><input id="content_input" type="text" name="num3_do" size="2" maxlength="100" value='
      .$num3[$x3].' />&nbsp;<input id="content_input" type="text" name="data3_do" size="11" maxlength="100" value='.$be3[$x3].' /></td> 
      <td><input id="content_input" type="text" name="num4_do" size="2" maxlength="100" value='
      .$num4[$x3].' />&nbsp;<input id="content_input" type="text" name="data4_do" size="11" maxlength="100" value='.$be4[$x3].' /></td> 
      </tr> 
       
       
       
      <!-- FREITAG --> 
      <tr> 
      <td id="content_beschriftung">Freitag</td> 
      <td><input id="content_input" type="text" name="num1_fr" size="2" maxlength="100" value='
      .$num1[$x4].' />&nbsp;<input id="content_input" type="text" name="data1_fr" size="11" maxlength="100" value='.$be1[$x4].' /></td> 
      <td><input id="content_input" type="text" name="num2_fr" size="2" maxlength="100" value='
      .$num2[$x4].' />&nbsp;<input id="content_input" type="text" name="data2_fr" size="11" maxlength="100" value='.$be2[$x4].' /></td> 
      <td><input id="content_input" type="text" name="num3_fr" size="2" maxlength="100" value='
      .$num3[$x4].' />&nbsp;<input id="content_input" type="text" name="data3_fr" size="11" maxlength="100" value='.$be3[$x4].' /></td> 
      <td><input id="content_input" type="text" name="num4_fr" size="2" maxlength="100" value='
      .$num4[$x4].' />&nbsp;<input id="content_input" type="text" name="data4_fr" size="11" maxlength="100" value='.$be4[$x4].' /></td> 
      </tr> 
       
       
       
      <!-- SAMSTAG --> 
      <tr> 
      <td id="content_beschriftung">Samstag</td> 
      <td><input id="content_input" type="text" name="num1_sa" size="2" maxlength="100" value='
      .$num1[$x5].' />&nbsp;<input id="content_input" type="text" name="data1_sa" size="11" maxlength="100" value='.$be1[$x5].' /></td> 
      <td><input id="content_input" type="text" name="num2_sa" size="2" maxlength="100" value='
      .$num2[$x5].' />&nbsp;<input id="content_input" type="text" name="data2_sa" size="11" maxlength="100" value='.$be2[$x5].' /></td> 
      <td><input id="content_input" type="text" name="num3_sa" size="2" maxlength="100" value='
      .$num3[$x5].' />&nbsp;<input id="content_input" type="text" name="data3_sa" size="11" maxlength="100" value='.$be3[$x5].' /></td> 
      <td><input id="content_input" type="text" name="num4_sa" size="2" maxlength="100" value='
      .$num4[$x5].' />&nbsp;<input id="content_input" type="text" name="data4_sa" size="11" maxlength="100" value='.$be4[$x5].' /></td> 
      </tr> 
      </table> 
       
       
       
       
      <!-- ABTEILUNG & KALENDERWOCHE --> 
      <div id="content_option"> 
          <select id="content_option_select" value='
      .$abteilung.' name="abteilung" size="1"> 
                <option>BBK</option> 
                <option>Dragee</option> 
              <option>MAOAM</option> 
              <option>Füllabteilung</option> 
             </select> 
      <input id="content_option_input" type="text" value='
      .$kw.' name="kw" size="13" maxlength="10" /></div> 
       
       
       
       
      <!-- BUTTON --> 
      <div align="right"><input type="submit" name="button_aendern" value="Ändern" /></div> 
       
      </form> 
      </div></div>'

              } 
      // While Schleife kw 
       
          
      // Submit? 
      ?>

      Kommentar


      • #4
        Entweder ich habe irgendwas übersehen (Quellcode umbrechen) - aber eigentlich dürfte das gar nicht gehen.

        1. Deine Tabellen haben die Namen tbl_34, tbl_35,...

        2. In deinem Formular gibst du als von-bis-Wochenangabe die Zahlen 34 und 35 ein.

        3. Danach kommen folgende Abfragen:
        PHP-Code:
        $von_kw $_POST['von_kw'];
        ..
        while(
        $von_kw <= $bis_kw
                { 
                    
        $kw $von_kw
                    
        $von_kw ++; 
         
        ...
        $abfrage "SELECT * FROM `$kw` ORDER BY ID"
        Also müsste deine generierte SQL-Abfrage eigentlich folgendes generieren
        PHP-Code:
        SELECT FROM 34 ORDER BY ID 
        und einen Fehler werfen.

        Wenn du irgendwo allerdings den Tabellenzusatz mitgibst, z.B.
        PHP-Code:
        $von_kw 'tbl_' $von_kw
        dann passt natürlich durch
        PHP-Code:
        $von_kw ++; 
        deine zweite SQL-Abfrage nicht mehr - da du dann ja keinen Zahlenwert, sondern eine Zeichenkette in der Variable hast.

        Zudem solltest du dringend deine Formulardaten vor der Weiterverarbeitung überprüfen, in deinem Fall z.B.
        PHP-Code:
        $von_kw intval($_POST['von_kw']); 
        Zuletzt geändert von eintrachtemil; 16.10.2009, 11:19.
        Simploo CMS - das einfache Webseiten-Bearbeitungsprogramm

        Kommentar


        • #5
          nein das ist schon richtig. die tabelle heißt auch nur 34 und 35

          habe das tbl davor gesetzt damit ihr wisst das es sich um tabellen handelt

          Kommentar


          • #6
            Hallo,

            du musst $numX innerhalb der while-Schleife (re)initialisieren, da du mit
            PHP-Code:
            $num1[]= $row ["NUM I"]; 
            immer nur neue Werte hinzufügst, diese aber durch die festen Indizes ($xX) nie angezeigt werden, sondern immer nur die aus dem ersten Durchlauf.

            Gruß,

            Amica
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              wie mach ich das? bin nicht so gut darin. bring mir das grad alles etwas selber bei. wie würde dieser code dann aussehen?

              Kommentar


              • #8
                PHP-Code:
                $num1 = array(); 
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  aber in num1 sollen ja nur die werte der spalte NUM I

                  woher weißt er denn mit deinem code das es so ist. so würde er doch alle werte in das eine array ablegen oder??

                  Kommentar


                  • #10
                    Zitat von SpecialFighter Beitrag anzeigen
                    und ich habe in meiner sql datenbank 6 tabellen:

                    tbl_34, tbl_35, tbl_36, tbl_37, tbl_38, tbl_39, tbl_40 (die zahlen stehen für kalenderwochen)
                    Falsches Datenbankdesign. Durchnummerierte Tabellen sind Blödsinn.

                    Gib alles in eine einzige Tabelle.

                    Kommentar


                    • #11
                      Nein, das war auch kein Code, sondern ein Beispiel für eine Initialisierung. Die musst du natürlich auch für die anderen $numX-Arrays am Anfang der Schleife machen. Das Füllen der Arrays ([FONT="Courier New"]$numX[]= $row ["..."];[/FONT]) machst du trotzdem wie bisher.
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        Konkret:
                        PHP-Code:
                        if(isset($_POST['button_ausgeben'])){ 


                            
                        // Einstellungen abfragen 
                            
                        $von_kw $_POST['von_kw']; 
                            
                        $bis_kw $_POST['bis_kw']; 
                            
                        $abteilung $_POST['abteilung']; 

                            
                        // Array parameter 
                            
                        $x1 =  0
                            
                        $x2 =  1
                            
                        $x3 =  2
                            
                        $x4 =  3
                            
                        $x5 =  4
                            
                        $x6 =  5

                            
                        // Datenbankdaten einbinden 
                            
                        include("dbconnect.php"); 

                            
                        $rows = array("NUM I""Bemerkung I""NUM II""Bemerkung II""NUM III""Bemerkung III""NUM IV""Bemerkung IV"); 

                            while(
                        $von_kw <= $bis_kw) { 
                                
                        $num1=array();$be1=array(); 
                                
                        $num2=array();$be2=array(); 
                                
                        $num3=array();$be3=array(); 
                                
                        $num4=array();$be4=array(); 
                                
                        $kw $von_kw
                                
                        $von_kw ++; 


                                
                        $abfrage "SELECT * FROM `$kw` ORDER BY ID"
                                
                        $ergebnis mysql_query($abfrage); 
                                while(
                        $row mysql_fetch_array($ergebnis)) 
                                { 
                                    
                        // Werte der SQL-Abfrage an Array  
                                    
                        $num1[]= $row ["NUM I"];    $be1[]= $row ["Bemerkung I"];  
                                    
                        $num2[]= $row ["NUM II"];    $be2[]= $row ["Bemerkung II"];  
                                    
                        $num3[]= $row ["NUM III"];    $be3[]= $row ["Bemerkung III"];  
                                    
                        $num4[]= $row ["NUM IV"];    $be4[]= $row ["Bemerkung IV"];  

                                    
                        // NUMS addieren 
                                    
                        $add = array(    $row->$rows[0], $row->$rows[1], $row->$rows[2], $row->$rows[3],  
                                    
                        $row->$rows[4], $row->$rows[5], $row->$rows[6], $row->$rows[7]); 
                                    
                        $summe array_sum($add);                 

                                }
                        // While Schleife SQL 

                                
                        echo'HTMLCODE'
                            } 
                        // While Schleife kw 
                        // Submit? 
                        Bitteschön.
                        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                        Super, danke!
                        [/COLOR]

                        Kommentar


                        • #13
                          super jetzt klappt alles

                          aber ich möcht ja auch was drauß lernen und verstehen warum es nun klappt.
                          wärst du so nett und könntest mir idiotensicher erklären warum das jetzt geht, was du gemacht hast und warum es so vorher nicht ging ?

                          vielen dank schon mal

                          Kommentar


                          • #14
                            Ok, du hast zwar mehrere solcher Arrays, aber ich betrachte jetzt nur eins davon: $num1

                            Du hast es vor der Schleife initialisiert, also war es erstmal leer.

                            Im ersten Durchlauf der äußeren Schleife (also in der ersten ausgewählten KW) kamen 6 Einträge hinzu:
                            $num1 = array("kw1foo1", "kw1foo2", "kw1foo3", "kw1foo4", "kw1foo5", "kw1foo6");

                            Auf die hast du dann in dem Bereich mit dem vielen HTML zugegriffen und dabei diese Indexvariablen ($x1 bis $x6) benutzt und auch das Richtige bekommen, z. B. $num1[$x2] = $num1[1] = "kw1foo2".

                            Beim nächsten Durchlauf der äußeren Schleife war das Array nicht mehr leer, die Einträge standen alle noch vom ersten Durchlauf drin. Da die Zuweisung mit den eckigen Klammern ($meinarray[] = "Hallo Welt!"; ) immer nur Einträge hinzufügt, wurden die neuen Einträge der zweiten ausgewählten KW hinten drangehangen:
                            $num1 = array("kw1foo1", "kw1foo2", "kw1foo3", "kw1foo4", "kw1foo5", "kw1foo6", "kw2foo1", "kw2foo2", "kw2foo3", "kw2foo4", "kw2foo5", "kw2foo6");

                            Wenn du darauf jetzt mit deinen Indexvariablen zugreifen willst, ergibt sich immer noch
                            $num1[$x2] = $num1[1] = "kw1foo2"
                            und nicht "kw2foo2", wie du es haben wolltest.

                            Die Lösung ist also, das Array am Anfang jedes Durchlaufs zu leeren, damit es wieder von vorne gefüllt wird und du vorne auch die neuen Daten rausholen kannst und nicht irgendwelche alten.
                            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                            Super, danke!
                            [/COLOR]

                            Kommentar


                            • #15
                              asoooooo ja das macht natürlich sinn - wenn mans weiß^^

                              vielen vielen dank für die Lösung und Erklärung

                              Kommentar

                              Lädt...
                              X