2017-01-29 4 views
1

- AKTUALISIERT -INSERT INTO von HTML-Formular & INSERT Banktabelle

Ich versuche, Daten aus einem HTML-Formular aus und eine Datenbank-Tabelle (1) in Tabelle (2) eingefügt werden soll. Der folgende Code funktioniert teilweise. Bisher werden Daten aus Tabelle1 in Tabelle2 eingefügt, ebenso wie Inkrementierung (wobei derselbe Benutzer mehrere Formulardaten eingeben muss). Aber die UPDATE-Daten werden nicht eingefügt. Wenn ich die Tabellenwerte überprüfe, zeigt room_temp nach dem Absenden des Formulars die gleiche 1 von 3 Optionen (auch wenn ich es nicht ausgewählt habe) und stage1 - stage10 zeigt den Wert 0, selbst wenn ich 1,2 eingegeben habe, 3 usw. ....

  $sql = " 
      INSERT INTO table2 (user_id, user_fname, user_lname, user_dob) 
      SELECT user_id, user_fname, user_lname, user_dob FROM table1; 

      UPDATE table2 SET 

      room_temp='$rtemp', 
      stage1='$ustage1', 
      stage2='$ustage2', 
      stage3='$ustage3', 
      stage4='$ustage4', 
      stage5='$ustage5', 
      stage6='$ustage6', 
      stage7='$ustage7', 
      stage8='$ustage8', 
      stage9='$ustage9', 
      stage10='$ustage10' 

      WHERE test_id=1"; 

Bitte sagen Sie mir, wie diese Abfrage sein sollte.

Form Code - Beispiele für meine 2 Eingabefelder

 <label id="radio-inline"><input type="radio" name="roomTemp" value="warm" <?php if (isset($rtemp) && $rtemp=="warm") echo "checked";?>>&nbsp;Warm</label> 
     <label id="radio-inline"><input type="radio" name="roomTemp" value="cool" <?php if (isset($rtemp) && $rtemp=="cool") echo "checked";?>>&nbsp;Cool</label> 
     <label id="radio-inline"><input type="radio" name="roomTemp" value="cold" <?php if (isset($rtemp) && $rtemp=="cold") echo "checked";?>>&nbsp;Cold</label> 

     <div class="form-group"> 
     <label class="rateLabel" for="0-3mins">Stage 1<br />5/8 (miles/km) ph</label> 
     <input type="text" class="form-control" name="txt_stage1" placeholder="HR after 0 - 3 mins" value="<?php if(isset($error)){echo $ustage1;}?>"> 
     </div> 
+0

_You_ müssen _us_ sagen, wie die Abfrage von entweder sagen uns sein sollte, welche Fehler Sie haben oder von uns zu sagen, was erwünscht Ergebnis, das Sie wollen. –

+0

Aktuell - Daten aus Tabelle1 werden erfolgreich in Tabelle2 eingefügt. Daten aus dem HTML-Formular werden jedoch nicht in Tabelle 2 eingefügt. Zum Beispiel - Felder stage1 - stage10 hat Werte von 0, obwohl ich 40,50,60 usw. über das Formular eingereicht habe. Es gibt einen Syntaxfehler und ich weiß nicht wo – ONEJED

Antwort

-1

Was ist der Primärschlüssel der Tabelle? Wenn es ein Ie Benutzer-ID hat dann

Ersetzen Sie die zweite Anweisung durch eine Update-Anweisung

update table2 
set value1=... 
from table1 
where userid=1 
+0

Der Primärschlüssel ist Benutzer-ID. Aber wie vermeide ich diesen Fehler - 1062 Eintrag '1' für Schlüssel 'PRIMÄR' duplizieren. Würde die userID "nicht eindeutig" funktionieren? – ONEJED

+0

Hoppla - vergessen Sie, Ihnen zu danken - bis jetzt funktioniert es – ONEJED

+0

Die zweite Anweisung sollte ein Update sein, sonst erhalten Sie den doppelten Schlüsselfehler, alternativ könnten Sie auch versuchen, einen einzigen Einsatz zu machen. I.e. Fügen Sie in table1 (...) userid, ..., 'rtemp' aus table2 ein. Das bedeutet, dass Sie die Werte aus dem zweiten Update als cnst hinzufügen. Zur Auswahl. Probieren Sie diese Benutzer-ID, 'Hallo Welt' aus Tabelle 2 –