Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten auslesen und ändern

Einklappen

Neue Werbung 2019

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

  • Daten auslesen und ändern

    Ich grüße euch, ich hoffe das es im richtigen Board ist sonst vielleicht ins php-Anfänger Board verschieben.

    Ich werde zuerst einmal versuchen zu erklären was ich vorhabe und anschließend das ganze mit Code unterlegen.

    Also ich habe Texteingabefelder die mit Zahlen ausgefüllt werden soll und dannach wird anschließend mit gerechnet und das Ergebnis wird in einer dynamisch erzeugten Grafik angezeigt.
    Wenn jetzt Daten in der Datenbank vorhanden sind sollen sie per valve im Textfeld angezeigt werden.

    Ich bin jetzt soweit das ich die Daten so auslesen kann:
    Code:
    $abfrage = "SELECT * FROM planet WHERE id = 1";
      $ergebnis = mysql_query($abfrage);
      while($row = mysql_fetch_object($ergebnis))
        {
       $planet1 = $row->planet1;
       $planet2 = $row->planet2;
       $planet3 = $row->planet3;
       $planet4 = $row->planet4;
       $planet5 = $row->planet5;
       $planet6 = $row->planet6;
       $planet7 = $row->planet7;
       $planet8 = $row->planet8;
       $planet9 = $row->planet9;
        }
    Das klappt auch im Prinzip.

    ändern der Daten soll erfolgen durch

    Code:
    $planet1a = $HTTP_POST_VARS["planet1"];
      $planet2 = $HTTP_POST_VARS["planet2"];
      $planet3 = $HTTP_POST_VARS["planet3"];
      $planet4 = $HTTP_POST_VARS["planet4"];
      $planet5 = $HTTP_POST_VARS["planet5"];
      $planet6 = $HTTP_POST_VARS["planet6"];
      $planet7 = $HTTP_POST_VARS["planet7"];
      $planet8 = $HTTP_POST_VARS["planet8"];
      $planet9 = $HTTP_POST_VARS["planet9"];
    
     $aendern = "UPDATE planet Set planet1 = '$planet1a', planet2 = '$planet2', planet3 = '$planet3', planet4 = '$planet4', planet5 = '$planet5', planet6 = '$planet6', planet7 = '$planet7', planet8 = '$planet8', planet9 = '$planet9'
      WHERE id = '1'";
    $update = mysql_query($aendern);
    Das klappt ja auch, wenn wenn ich jetzt beides zusammen machen möchte also zuerst die daten auslesen möchte um sie im Textfeld anzeigen zulassen und später in dem ich später die Daten per Eingabe und abschicken ändern kann.

    Jetzt ist es ja so das ich vermute das es mit den variablen ein Problem gibt also hab ich das auch geändern beim code aendern, jetzt kann ich die Daten ändern, muß aber die Seite aktualisieren um die Daten angezeigt zubekommen und wenn ich dann aber die Seite erneut aufrufe ist alles weg.

    Ich wäre euch dankbar wenn ihr mir helfen könntet, wenn noch Unklarheiten in meiner Frage vorhanden sein sollten bitte nachfrage ich versuche dann das ganze genauer zu erklären.

    Schonmal vielen Dank

  • #2
    So richtig verstehe ich das nicht, man kann auch nicht viel dazu sagen, da die paar Quellcode-Zeilen nicht viel aussagen, außer

    16.14. Warum soll ich nicht SELECT * schreiben?
    http://www.php-faq.de/q/q-sql-select.html

    Und $HTTP_POST_VARS solltest du in $_POST ändern.

    Gruß
    phpfan

    Kommentar


    • #3
      http://www.sig.kobura.de/signatur_form.php

      Das ist mein Formular, dort sollen Zahlen eingeben werden.

      Code:
      <tr align="center">
      <td width="10%"><input type="Text" size="20" name="planet9" value=<?=$planet9?>></td>
      <td width="10%"><input type="Text" size="5" name="metall_plani9" value=<?=$metall_plani9?>></td>
      <td width="10%"><input type="Text" size="5" name="kristall_plani9" value=<?=$kristall_plani9?>></td>
      <td width="10%"><input type="Text" size="5" name="deut_plani9" value=<?=$deut_plani9?>></td>
      <td width="10%"><input type="Text" size="5" name="solar_plani9" value=<?=$solar_plani9?>></td>
      <td width="10%"><input type="Text" size="5" name="fusion_plani9" value=<?=$fusion_plani9?>></td>
      <td width="10%"><input type="Text" size="5" name="sat_plani9" value=<?=$sat_plani9?>></td>
      <td width="10%"><input type="Text" size="5" name="temp_plani9" value=<?=$temp_plani9?>></td>
      </tr>
      <tr align="center">
      <td colspan="8"><input type="Submit" name="submitted" value="Signatur erstellen">
      </td>
      </tr>
      </table>
      
      	
      </form>
      Die Zahlen werden benötigt um eine Rechnung zu rechnen so das Ergebnis dann in einer Grafik unten ausgeben.

      Die Datenbank enthält nun die Zahlen, diese Daten sollen nun als erstes ausgelesen werden
      Code:
       $abfrage = "SELECT * FROM planet WHERE id = 1";
        $ergebnis = mysql_query($abfrage);
        while($row = mysql_fetch_object($ergebnis))
          {
         $planet1 = $row->planet1;
         $planet2 = $row->planet2;
         $planet3 = $row->planet3;
         $planet4 = $row->planet4;
         $planet5 = $row->planet5;
         $planet6 = $row->planet6;
         $planet7 = $row->planet7;
         $planet8 = $row->planet8;
         $planet9 = $row->planet9;
          }
      Die ausgelesenen Daten sollen nur durch das value=<?=$planet9?> angezeigt werden im Text Feld.

      als nächstes sollen dann die Daten in den Felden geändert werden könnten.

      Code:
       $planet1a = $_POST["planet1"];
        $planet2a = $_POST["planet2"];
        $planet3a = $_POST["planet3"];
        $planet4a = $_POST["planet4"];
        $planet5a = $_POST["planet5"];
        $planet6a = $_POST["planet6"];
        $planet7a = $_POST["planet7"];
        $planet8a = $_POST["planet8"];
        $planet9a = $_POST["planet9"];
      
      $aendern = "UPDATE planet Set planet1 = '$planet1a', planet2 = '$planet2a', planet3 = '$planet3a', planet4 = '$planet4a', planet5 = '$planet5a', planet6 = '$planet6a', planet7 = '$planet7a', planet8 = '$planet8a', planet9 = '$planet9a'
        WHERE id = '1'";
      $update = mysql_query($aendern);
      Wenn ich jetzt die Seite aufrufe etwas in die Felder eingebe und auf Datenabschicken gehe, sind die Felder leer, wenn ich die Seite dann aktualisiere dann ist alles so wie ich es gerne hätte. Nur wenn ich die Seite dann erneut aufrufe ist alles weg.

      Ich frage mich jetzt ab ich noch mysql_free_result($ergebnis); oder soetwas einbauen muß.

      weil wenn ich jetzt z.b. den Code auslesen auskommentiere dann funktioniert das ändern ohne probleme ich schreibe im Feld einen neuen werd gehe auf abschicken und die Daten werden sofort verarbeite ohne einmal aktualisieren zu müssen.

      das gleich mit dem code auskommentieren von ändern. wenn ich das mache werden beim Aufruf der Seite alle Daten ausgelesen und dann im Feld angezeigt.

      Ist es vielleicht möglich beim Aufruf einer Seite einen code zum auslesen von Daten aus einer Datenbank aufzurufe und wenn ich dann auf einen Butten klicke das dann erst ein Code ausgelöst wird der die Daten in einem Textfeld ändert?

      Kommentar

      Lädt...
      X