PHP Umsetzungs-Fehler [Select from...]

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

  • PHP Umsetzungs-Fehler [Select from...]

    Huhu
    Oh >.< ICh komm nich weiter und hab auch iwie keine Ahnung wie ichs machen soll. Ich schildere euch mal mein Problem:
    Ich habe ein Formular was wie gewünscht Pferdename, Disziplin weitergibt. Diese sollen dann folgendermaßen bearbeitet werden:
    Aus der Datenbank soll die POST-Datei Disziplin geholt werden, wenn Pferdename=Pferdename ist ^^
    Nur, wie gebe ich jetzt Disziplin aus? Mit $row->$_POST["Disziplin"]; vielleicht? Anscheinend nicht, denn es erhält keinen Wert, hab ich schon getestet. Der ganze Code:
    PHP-Code:
    include "zugriff.inc.php";
             
    $sql "SELECT * FROM pferde WHERE 
    Pferdename='"
    .$_POST["Pferdename"]."'"
        
    or die(mysql_error().'<hr />'.'meine SQL'.'<hr />');
         
    $ergebnis mysql_query($sql); 
           
    $row mysql_fetch_object($ergebnis); 

       
    $neudiszi $row->$_POST["Disziplin"] + '3'

            echo 
    "<p><center>Dein Pferd wurde erfolgreich in ".$_POST["Disziplin"]." trainiert!</center></p>";
             
    $sql2 "UPDATE pferde 
    SET "
    .$_POST["Disziplin"]." = $neudiszi 
    WHERE Pferdename='
    $row->Pferdename'";
        
    $eintragen2 mysql_query($sql2); 
    Es wird keine Fehlermeldung angezeigt, die Zeile $neudiszi... muss aber fehlerhaft sein weil sie nicht den gewünschten Wert erhält, sondern einfach nur 3...

    Danke für jede Hilfe

  • #2
    Hallo,

    $neudiszi = $row->$_POST["Disziplin"] + '3';
    Wenn du objektorientiert darauf zugreifen willst, wird das so nichts.

    nimm lieber mysql_fetch_assoc und dann $ret[$_POST['Disziplin']]

    Kommentar


    • #3
      Habs jetzt so geändert:
      PHP-Code:
         $row mysql_fetch_array($ergebnis);
      $neudiszi $ret[$_POST["Disziplin"]] + '3'
      Stimmt aber immer noch nicht O_o Was bedeutet eig. $ret?

      Kommentar


      • #4
        sorry, schreibfehler von mir...

        nicht
        $neudiszi = $ret[$_POST["Disziplin"]] + '3';

        sondern
        $neudiszi = $row[$_POST["Disziplin"]] + '3';

        Kommentar


        • #5
          Danke, es funktioniert jetzt.
          Nun habe ich ein neues Problem für das ich mal keinen neuen Thread eröffne:
          Es gibt 1, 2 und 3 bei 3 formular-select-feldern auszuwählen. Wenn a gewählt wurde, erhöht sich ein Feld in einer Tabelle um 3, genauso wie wenn b oder c gewählt wurde.

          wenn allerdings zweimal oder dreimal bei den 3 formular-selcet-feldern der gleiche buchstabe gewählt wurde, soll es sich um 6 b.z.w. 9 erhöhen...

          Ich zeige euch mal meinen Code im Moment. Der letzte Teil wird allerdings nicht erfüllt weil es statt 6 o. 9 immernoch 3 ist. Wie kann ich das machen?

          PHP-Code:
           $sql "SELECT * FROM pferde 
          WHERE Pferdename='"
          .$_POST["Pferd"]."'"
              
          or die(mysql_error().'<hr />'.'euer SQL'.'<hr />');
               
          $ergebnis mysql_query($sql); 
             
          $row mysql_fetch_array($ergebnis);
          $neudiszi $row[$_POST["Disziplin1"]] + 3;
          $neudiszi2 $row[$_POST["Disziplin2"]] + 3;
          $neudiszi3 $row[$_POST["Disziplin3"]] + 3;

                   
          $sql2 "UPDATE pferde 
          SET "
          .$_POST["Disziplin1"]." = $neudiszi
          "
          .$_POST["Disziplin2"]." = $neudiszi2
          "
          .$_POST["Disziplin3"]." = $neudiszi3 
          WHERE Pferdename='"
          .$_POST["Pferd"]."'";
              
          $eintragen2 mysql_query($sql2);
                      echo 
          "<p><center>Dein Berittpferd wurde erfolgreich in 
          "
          .$_POST["Disziplin1"].", ".$_POST["Disziplin2"]." und 
          "
          .$_POST["Disziplin3"]." trainiert!<br></center></p>"

          Kommentar

          Lädt...
          X