formular und update-anweisung in einer Datei / $PHP_SELF

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

  • formular und update-anweisung in einer Datei / $PHP_SELF

    Hallo!

    Folgender Sachverhalt:

    Ich schreibe über ein Formular Datensätze in eine Datenbank.
    U. a. befindet sich da ein feld mit dem namen "comment", in welches der eingegebene Kommentar gespeichert wird.

    Nun will ich diesen Kommentar beantworten! Dazu hab ich in der Tabelle ein Feld "solution" eingefügt. In das Feld "solution wird beim absenden der Tabelle nichts geschrieben. Das Feld bleibt also leer!

    Mit folgender Datei stell ich einen Datensatz dar (vorherige Auswahl aus einer HTML-Tabelle von der die id über die url übergeben wird).

    Wie ihr unten sehen könnt hab ich ein Textfeld mit dem Namen "solution" eingefügt.

    In dieses Feld will ich dann meine Antwort schreiben und dies soll mit einer Update-Anweisung in das solution-feld der Datenbank geschrieben werden?!?


    Allerdings blick ich da nicht mehr ganz durch.
    Wäre toll wenn sich das mal jemand anschauen könnte!
    Falls ihr noch irgendwelche Fragen zu dem Sachverhalt habt, bitte stellt sie mir ...!!!

    Gruß Flo


    PHP-Code:
    <HTML>
    <HEAD>
    <TITLE></TITLE>
    </HEAD>
    <BODY>
    <?php
    include("config.php");


    $db mysql_connect("x""y""z");
    mysql_select_db("xy",$db);

    // Request info
    $result mysql_query(
    "SELECT * FROM kummerkasten WHERE id = $id");
    if (!
    $result) {
    echo(
    "<P>Error performing query: " .
    mysql_error() . "</P>");
    exit();
    }
    ?>


    <p align ="center"><img src="logo.gif"></p></align><br>
    <?php
    // Display the text
    while ( $row mysql_fetch_array($result) ) {
    $ticketnum=$row["id"];
    $anrede=$row["anrede"];
    $name=$row["name"];
    $email=$row["email"];
    $kdnr=$row["kdnr"];
    $maschinennr=$row["maschinennr"];
    $ordernr=$row["ordernr"];
    $range=$row["range"];
    $comment=$row["COMMENT"];
    $solution=$row["solution"];
    $attachment=$row["attachment"];
    $status =$row["status"];
    $know =$row["know"];
    $time =$row["time"];

    $custpdes htmlspecialchars("$custpdes"ENT_QUOTES);
    $custsdes htmlspecialchars("$custsdes"ENT_QUOTES);

    }

    echo 
    '<form action="$PHP_SELF" method="post">
      <p>&nbsp;</p>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="16%">lfd. #:</td>
          <td width="84%">
            '
    .$id.'</td>
        </tr>
        <tr>
          <td width="16%">Anrede:</td>
          <td width="84%">
           '
    .$anrede.' </td>
        </tr>
        <tr>
          <td width="16%">Name:</td>
          <td width="84%">
            '
    .$name.'</td>
        </tr>
        <tr>
          <td width="16%">Email-Adresse:</td>
          <td width="84%">
            '
    .$email.'</td>
        </tr>
        <tr>
          <td width="16%">Kundennr.:</td>
          <td width="84%">
           '
    .$kdnr.' </td>
        </tr>
        <tr>
          <td width="16%">Maschinennr.:</td>
          <td width="84%">
           '
    .$maschinennr.' </td>
        </tr>
        <tr>
          <td width="16%">Auftragsnr.:</td>
          <td width="84%">
            '
    .$ordernr.' </td>
        </tr>
        <tr>
          <td width="16%">Produktfeld:</td>
          <td width="84%">
            '
    .$range.' </td>
        </tr>
        <tr>
          <td width="16%">Kommentar:</td>
          <td width="84%">'
    .$comment.'</td>
        </tr>
        <tr>
          <td width="16%">Antwort:</td>
          <td width="84%">
            <textarea name="solution" cols="50%" rows="6">'
    .$solution.'</textarea></td>
        </tr>
        <tr>
          <td width="16%">Dateianhang:</td>
          <td width="84%">'
    .$attachment.'</td>
        </tr>
       <tr>
          <td width="16%">&nbsp;</td>
          <td width="84%"><input type="Submit" name="Submit" value="abschicken"></td>
        </tr>
      </table>
    </form>'
    ;

    ?>



    </BODY>
    </HTML>

  • #2
    Re: formular und update-anweisung in einer Datei / $PHP_SELF

    du musst nur dafür sorgen, dass du die ID des datensatzes auch mit übergibst (idR nimmt man als ID eine integer-spalte mit auto_increment).

    und dann machst du ein UPDATE für das die spalte solution beim richtigen datensatz (WHERE id = übergebene ID).
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      die id wird ja in der url mit übergeben.

      das sieht dann beispielsweise so aus: update.php?id=4

      die spalte id ist vom typ int und die werte werden mit auto_increment automatisch erstellt. GENAU! Soweit hab ich das ja schon!

      Mir geht es darum, dass ich den Datensatz (ohne das feld "solution") angezeigt bekomme, dann was in das Textfeld mit dem Namen "solution" schreiben kann und dass das dann in der Tabelle im Feld Solution gespeichert wird!

      Welche Datei muss ich beim absenden des formulars aufrufen? Irgendwie klappt das mit der Variablen $PHP_SELF nicht wie ich es im quelltext schon dargestellt habe?!?

      Bisher läuft das ja so ab:

      Erst wird die DB connected.
      Dann der Datensatz mit der entspechenden id ausgewählt.
      Dann wird der Inhalt des Datensatzes in dem Array gespeichert und mit 'echo' in der Tabelle ausgegeben!

      Wo muss ich diese update-anweisung unterbringen?
      In einer externen Datei, die beim absenden des formulars aufgerufen wird?
      Hab auch schon über eine schleife bzw. if($gesendet) anweisung in der datei nachgedacht?

      Gruß Flo

      Kommentar


      • #4
        beim auslesen der db solltest du zuerst mal alle
        werte, die du später aktualisieren willst in input/hidden-fields
        packen. logischerweise auch die "id".

        dann kannst du eine bedingung aufsetzen wie z.b.:

        PHP-Code:
        // hier db-connection



        if(isset($_POST['Submit']))                      // wenn submitbutton geklickt
        // if($_POST['Submit'] == "Abschicken")  // als alternative
        {
          
        mysql_query("update ...");
          print 
        "erfolgsmeldung";
        }
        else
        {
          
        mysql_query("select ...");
          print 
        "formular bla bla";

        so hast du's in einer datei
        Kissolino.com

        Kommentar


        • #5
          danke für die Hilfe!


          Ich probiers mal aus!

          Hoffentlich klappts!

          Ich lass von mir hören!!

          Gruß Flo

          Kommentar

          Lädt...
          X