Ich könnte heulen

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

  • Ich könnte heulen

    Ich kriegs net gebacken mit meiner Statistik.

    Ich habe folgenden Code geschrieben (für euch Profis, wahrscheinlich der absolute Gruselhorror-Code )
    PHP-Code:
    <html>
    <head>
        <title>Untitled</title>
    </head>

    <body>

    <?php
    $tabellenname
    ="statistik";
    $link=mysql_connect("localhost""Benutzername""Kennwort");
    mysql_select_db("test"$link);

    $nament="SELECT * FROM $tabellenname";
    $result=mysql_query($nament$link);
    $menge=mysql_num_rows($result);



    echo 
    "<br><br>";

    for (
    $x=0;$x<=$menge;$x++){
    $lfz="Luftfahrzeuge"."[$x]";


    ?>

    <form action='<?php echo $PHP_SELF?>' method=post>
    <input type=hidden name=flag value=1>

    <tr><td><p class=left><?php echo $lfz?></p></td><td> <input type=text name="<?php echo $lfz?>" size=2 maxlength=2 value='<?php echo $lfz?>'><br></td></tr>

    <?php
        
        
    echo "<br><br><br>";



    if(
    $flag==1)
    {


    $tabellenname="statistik";
    $sqlUpd1="UPDATE $tabellenname set LFZ=$lfz, BDZ=$Bodenziele, Schiff=$Schiffe, Missionen=1, Punkte=$Punkte[berechnet], LAF=$LAF5, EML=$EML5, HTS=$HTS5, CAP=$CAP5, KIA=$KIA5 WHERE Nummer='1'";
    $sqlUpd2="UPDATE $tabellenname set LFZ=$Luftziele2, BDZ=$Bodenziele, Schiff=$Schiffe, Missionen=1, Punkte=$Punkte[berechnet], LAF=$LAF5, EML=$EML5, HTS=$HTS5, CAP=$CAP5, KIA=$KIA5 WHERE Nummer='2'";
    $sqlUpd3="UPDATE $tabellenname set LFZ=$Luftziele, BDZ=$Bodenziele, Schiff=$Schiffe, Missionen=1, Punkte=$Punkte[berechnet], LAF=$LAF5, EML=$EML5, HTS=$HTS5, CAP=$CAP5, KIA=$KIA5 WHERE Nummer='3'";
    $sqlUpd4="UPDATE $tabellenname set LFZ=$Luftziele, BDZ=$Bodenziele, Schiff=$Schiffe, Missionen=1, Punkte=$Punkte[berechnet], LAF=$LAF5, EML=$EML5, HTS=$HTS5, CAP=$CAP5, KIA=$KIA5 WHERE Nummer='4'";
    $sqlUpd=array("$sqlUpd1","$sqlUpd2","$sqlUpd3","$sqlUpd4");
    $link=mysql_connect("localhost""Benutzername""Kennwort");
    mysql_select_db("test"$link);

    for (
    $i=0;$i<count($sqlUpd);$i++){


    mysql_query($sqlUpd[$i], $link);


    }
    }
    }
    ?>
    <br>
    <input type=submit>
    </form>

    </body>
    </html>
    Meine Tabelle sieht so aus:

    ID Nummer NAME LFZ BDZ Schiff LAF EML HTS CAP KIA Missionen Punkte
    1 1 Lindner 2 0 0 1 0 0 0 0 1 500
    4 2 Staiger 4 0 0 1 0 0 0 0 1 500
    5 3 Brendel 1 0 0 1 0 0 0 0 1 500
    6 4 Tanzer 1 0 0 1 0 0 0 0 1 500

    Nun möchte ich damit erreichen, dass ich bei jedem unter Luftfahrzeuge was eintrage.
    Also zum Beispiel, bei Lindner trage ich ein Luftfahrzeuge 2 und bei Staiger Luftfahrzeuge 44 und so weiter. Dann schicke ich es ab und es soll in der Tabelle upgedatet werden
    Es funzt aber net
    Was mach ich verkehrt? wie würde es richtig gehen?
    thx für Antworten!

  • #2
    das hilft dir auf die sprünge:
    PHP-Code:
    mysql_query($sqlUpd[$i], $link) or die(mysql_error()); 
    Kissolino.com

    Kommentar


    • #3
      und das $sqlUpd1 machst du zu $sqlUpd[] ....

      bei den anderen auch.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        hab grad gesehen, dass du dir dein array später erst baust...

        hier dennoch mal eine übnerarbeitung.

        PHP-Code:
        $sqlUpd = array();

        $sqlUpd[]="UPDATE $tabellenname set LFZ=$lfz, BDZ=$Bodenziele, Schiff=$Schiffe, Missionen=1, Punkte=$Punkte[berechnet], LAF=$LAF5, EML=$EML5, HTS=$HTS5, CAP=$CAP5, KIA=$KIA5 WHERE Nummer='1'";
        $sqlUpd[]="UPDATE $tabellenname set LFZ=$Luftziele2, BDZ=$Bodenziele, Schiff=$Schiffe, Missionen=1, Punkte=$Punkte[berechnet], LAF=$LAF5, EML=$EML5, HTS=$HTS5, CAP=$CAP5, KIA=$KIA5 WHERE Nummer='2'";
        $sqlUpd[]="UPDATE $tabellenname set LFZ=$Luftziele, BDZ=$Bodenziele, Schiff=$Schiffe, Missionen=1, Punkte=$Punkte[berechnet], LAF=$LAF5, EML=$EML5, HTS=$HTS5, CAP=$CAP5, KIA=$KIA5 WHERE Nummer='3'";
        $sqlUpd[]="UPDATE $tabellenname set LFZ=$Luftziele, BDZ=$Bodenziele, Schiff=$Schiffe, Missionen=1, Punkte=$Punkte[berechnet], LAF=$LAF5, EML=$EML5, HTS=$HTS5, CAP=$CAP5, KIA=$KIA5 WHERE Nummer='4'";

        $link=mysql_connect("localhost""Benutzername""Kennwort");
        mysql_select_db("test"$link);

        for (
        $i=0;$i<count($sqlUpd);$i++)
        {
            
        $res mysql_query($sqlUpd[$i], $link) or die(mysql_error());

        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          du hattest auch bei den ganzen werten die ' ... ' vergessen...

          hier habe ich sie mal hinzugefügt....
          PHP-Code:
          $sqlUpd = array();

          $sqlUpd[]="UPDATE $tabellenname set LFZ='$lfz', BDZ='$Bodenziele', Schiff='$Schiffe', Missionen=1, Punkte='{$Punkte[berechnet]}', LAF='$LAF5', EML='$EML5', HTS='$HTS5', CAP='$CAP5', KIA='$KIA5' WHERE Nummer='1'";
          $sqlUpd[]="UPDATE $tabellenname set LFZ=$Luftziele2, BDZ='$Bodenziele', Schiff='$Schiffe', Missionen=1, Punkte='{$Punkte[berechnet]}', LAF='$LAF5', EML='$EML5', HTS='$HTS5', CAP='$CAP5', KIA='$KIA5' WHERE Nummer='2'";
          $sqlUpd[]="UPDATE $tabellenname set LFZ=$Luftziele, BDZ='$Bodenziele', Schiff='$Schiffe', Missionen=1, Punkte='{$Punkte[berechnet]}', LAF='$LAF5', EML='$EML5', HTS='$HTS5', CAP='$CAP5', KIA='$KIA5' WHERE Nummer='3'";
          $sqlUpd[]="UPDATE $tabellenname set LFZ=$Luftziele, BDZ='$Bodenziele', Schiff='$Schiffe', Missionen=1, Punkte='{$Punkte[berechnet]}', LAF='$LAF5', EML='$EML5', HTS='$HTS5', CAP='$CAP5', KIA='$KIA5' WHERE Nummer='4'";

          $link=mysql_connect("localhost""Benutzername""Kennwort");
          mysql_select_db("test"$link);

          for (
          $i=0;$i<count($sqlUpd);$i++)
          {
              
          $res mysql_query($sqlUpd[$i], $link) or die(mysql_error());

          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Vielen Dank, hab den Code jetzt geändert, hat aber leider trotzdem nix geholfen.
            Wenn ich jetzt was eintrage und absende wird bei jedem Namen LFZ auf 0 gesetzt. Wenn ich also irgend eine andere Zahl eingebe, wird in die Tabelle trotzdem 0 geschrieben.

            Hier der jetzige Code
            PHP-Code:

            <html>
            <head>
                <title>Untitled</title>
            </head>

            <body>

            <?php
            $tabellenname
            ="statistik";
            $link=mysql_connect("localhost""Benutzername""Kennwort");
            mysql_select_db("test"$link);

            $nament="SELECT * FROM $tabellenname";
            $result=mysql_query($nament$link);
            $menge=mysql_num_rows($result);



            echo 
            "<br><br>";

            for (
            $x=0;$x<=$menge;$x++){
            $lfz="Luftfahrzeuge"."[$x]";


            ?>

            <form action='<?php echo $PHP_SELF?>' method=post>
            <input type=hidden name=flag value=1>

            <tr><td><p class=left><?php echo $lfz?></p></td><td> <input type=text name="<?php echo $lfz?>" size=2 maxlength=2 value='<?php echo $lfz?>'><br></td></tr>

            <?php
                
                
            echo "<br><br><br>";



            if(
            $flag==1)
            {

            $sqlUpd = array();

            $sqlUpd[]="UPDATE $tabellenname set LFZ='$lfz' WHERE Nummer='1'";
            $sqlUpd[]="UPDATE $tabellenname set LFZ='$lfz' WHERE Nummer='2'";
            $sqlUpd[]="UPDATE $tabellenname set LFZ='$lfz' WHERE Nummer='3'";
            $sqlUpd[]="UPDATE $tabellenname set LFZ='$lfz' WHERE Nummer='4'";


            $link=mysql_connect("localhost""Benutzername""Kennwort");
            mysql_select_db("test"$link);

            for (
            $i=0;$i<count($sqlUpd);$i++)
            {
                
            $res mysql_query($sqlUpd[$i], $link) or die(mysql_error());
            }


            }
            }
            ?>
            <br>
            <input type=submit>
            </form>

            </body>
            </html>

            Hmm, vielleicht könnt ihr mir besser helfen, wenn ihr euch nicht so sehr an meinen Code orientiert.
            Also was ich eigentlich will sind mehrere Eingabefelder für jeden Namen (jeder Name hat die gleichen Eingabefelder, wie z.B. LFZ) dort trage ich eine Zahl ein und sende das Formular ab und genau diese Zahl soll dann in der Tabelle eingetragen werden, dazuaddiert werden oder so was.
            Und zwar auch genau dort in der Tabelle, wo auch der Name steht, bei dem ich das ja auch eingetragen habe.

            Ein Beispiel:

            Formular:
            Name: Staiger
            LFZ: (Eingabefeld)
            BDZEingabefeld)

            Name:Lindner
            LFZ: (Eingabefeld)
            BDZEingabefeld)

            Name:Brendel
            LFZ: (Eingabefeld)
            BDZEingabefeld)

            Absenden-Button

            So jetzt gebe ich z.B. ein:

            Name: Staiger
            LFZ: 2
            BDZ:0

            Name:Lindner
            LFZ: 5
            BDZ:20

            Name:Brendel
            LFZ: 7
            BDZ:1

            Absenden-Button wird gedrückt

            =>In die Tabelle wird folgendes geschrieben:
            Tabellenspalte
            Name LFZ BDZ
            Staiger 2 0
            Lindner 5 20
            Brendel 7 1

            Wie mache ich das am besten?

            Kommentar


            • #7
              naja,

              Hmm, vielleicht könnt ihr mir besser helfen, wenn ihr euch nicht so sehr an meinen Code orientiert.
              ...
              Wie mache ich das am besten?
              wie du das am besten machst, weiß ich nicht. ich würde es ungefähr so machen:

              PHP-Code:
              <?PHP
                
              if (!isset($_POST["aktion"])) $_POST["aktion"] = ""// natürlich solltest du alle $_POSTs auf gültigkeit überprüfen
                
              if ($_POST["aktion"] == "eintragen") {
                  for (
              $index 0$index sizeof($_POST["id"]); $index++) {
                    
              $sql[$index]  = "UPDATE meine_tabelle ";
                    
              $sql[$index] .= "SET LFZ = '".$_POST["LFZ"][$index]."', ";
                    
              $sql[$index] .= "BDZ = '".$_POST["BDZ"][$index]."' ";
                    
              $sql[$index] .= "WHERE id = '".$_POST["id"][$index]."' ";
                  }
                  for (
              $index 0$index sizeof($_POST["id"]); $index++) {
                    echo 
              $sql[$index];
                    echo 
              "<br>\n";
                  }
              //    header ("Location: ".$_SERVER["PHP_SELF"]);
                
              }
              ?>
              <html>
                <body>
              <?PHP
                $daten_bank_dummy 
              = array("ich""du""er""sie");
                echo 
              "    <form action=\"".$_SERVER["PHP_SELF"]."\" method=\"POST\">\n";
                echo 
              "      <input type=\"hidden\" name=\"aktion\" value=\"eintragen\"><br>\n";
                for (
              $index 0$index sizeof($daten_bank_dummy); $index++) {
                  echo 
              "      <input type=\"hidden\" name=\"id[]\" value=\"".$index."\"><br>\n"
              //    echo "      <input type=\"hidden\" name=\"id[]\" value=\"".$row->id."\"><br>\n"; //
                  
              echo "      ".$daten_bank_dummy[$index]."<br>\n";
              //    echo "      ".$row->name."<br>\n";
                  
              echo "      LFZ ";
                  echo 
              "      <input type=\"text\" size=\"20\" name=\"LFZ[]\"><br>\n";
                  echo 
              "      BDZ ";
                  echo 
              "      <input type=\"text\" size=\"20\" name=\"BDZ[]\"><br>\n";
                }
                echo 
              "      <input type=\"submit\" value=\"Geh nicht &uuml;ber Los\">\n";
                echo 
              "    </form>\n";
              ?>
                </body>
              <html>
              wenn du das noch an deine bedürfnisse anpaßt (sollte ja nicht das problem sein), sollte es funktionieren.

              oder du änderst deinen code.

              OffTopic:
              ich wollte deinen grad ändern, aber ... kennste du " bei attributen wie name="hallo" oder class="left" ?


              mach mal hinter dem

              PHP-Code:
              $sqlUpd[]="UPDATE $tabellenname set LFZ='$lfz' WHERE Nummer='1'";
              $sqlUpd[]="UPDATE $tabellenname set LFZ='$lfz' WHERE Nummer='2'";  
              $sqlUpd[]="UPDATE $tabellenname set LFZ='$lfz' WHERE Nummer='3'";  
              $sqlUpd[]="UPDATE $tabellenname set LFZ='$lfz' WHERE Nummer='4'"
              das hier
              PHP-Code:
              echo "<pre>";  
              print_r ($sqlUpd);  
              echo 
              "</pre>"
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                ich komm echt net weiter
                hab jetzt rumprobiert und mich weiter belesen, aber ich kriegs net gebacken.

                wie muss ich das machen? wo hast du die Verbindung zur Datenbank und so?

                Kommentar


                • #9
                  Was für ein Name

                  OffTopic:
                  Der Name stinkt

                  Nich bös gemeint, aber is doch so
                  Evtl. Rechtschreibfehler sind beabsichtigt und dienen der Belustigung des Lesers

                  Kommentar


                  • #10
                    hmm

                    Kommentar

                    Lädt...
                    X