Announcement

Collapse
No announcement yet.

Select und Insert Anweisung gleichzeitig

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Select und Insert Anweisung gleichzeitig

    Hallo!

    Ich habe ein Formular, in dem ich verschiedene Werte eingeben kann.
    An der Zahl sind es insgesamt 23 Werte.
    Jeder einzelne Wert wird in eine Variable gespeichert.

    Nach der Eingabe werden die Variablen per Button und insert-Anweisung in eine Tabelle (gutachten) gespeichert.

    Nun möchte ich, dass zwei der Variablen gleichzeitig in eine andere Tabelle (kalkulation) abgespeichert werden. Grund dafür ist, dass ich zwei Formulare per join über eine ID (auftragsnummer) miteinander so verbinden möchte, sodass ich zwischen mehreren Formularen (im Moment erstmal 2 Formulare) hin und her wechseln kann.

    Hier der Code:

    PHP Code:
    <?php session_start(); ?>
    <?php ob_start
    (); ?>
    <?php
    define
    ("DEFAULT_LOCALE""de_DE");
    @
    setlocale(LC_ALLDEFAULT_LOCALE);    
    ?>

    <?php
    $conn 
    phpmkr_db_connect(HOSTUSERPASSDBPORT);
    ?>
    <form name="gutachtenadd" id="gutachtenadd" action="gutachtenadd.php" method="post" onSubmit="return EW_checkMyForm(this);"> 
    <p>
    <input type="hidden" name="a_add" value="A">
    <input type="hidden" name="id" value="x_id">
    <?php
    if (@$_SESSION["ewmsg"] <> "") {
    ?>
    <p><span class="ewmsg"><?php echo $_SESSION["ewmsg"?></span></p>
    <?php
        $_SESSION
    ["ewmsg"] = ""// Clear message
    }
    ?>
    <table class="kgsTable">
        <tr><td><table class="kgsTableFont">
      <tr>
            <td class="ewTableHeader"><span>Gutachtentyp</span></td>
            <td class="ewTableAltRow"><span>
    <?php
    $x_gutachtentypList 
    "<select name=\"x_gutachtentyp\">";
    $x_gutachtentypList .= "<option value=''>Bitte Gutachtentyp wählen!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>";
        
    $x_gutachtentypList .= "<option value=\"Gutachten\"";
        if (@
    $x_gutachtentyp == "Gutachten") {
            
    $x_gutachtentypList .= " selected";
        }
        
    $x_gutachtentypList .= ">" "Gutachten" "</option>";
        
    $x_gutachtentypList .= "<option value=\"Kurzgutachten\"";
        if (@
    $x_gutachtentyp == "Kurzgutachten") {
            
    $x_gutachtentypList .= " selected";
        }
        
    $x_gutachtentypList .= ">" "Kurzgutachten" "</option>";
        
    $x_gutachtentypList .= "<option value=\"Wertgutachten\"";
        if (@
    $x_gutachtentyp == "Wertgutachten") {
            
    $x_gutachtentypList .= " selected";
        }
        
    $x_gutachtentypList .= ">" "Wertgutachten" "</option>";
        
    $x_gutachtentypList .= "<option value=\"Reparaturnachweis\"";
        if (@
    $x_gutachtentyp == "Reparaturnachweis") {
            
    $x_gutachtentypList .= " selected";
        }
        
    $x_gutachtentypList .= ">" "Reparaturnachweis" "</option>";
    $x_gutachtentypList .= "</select>";
    echo 
    $x_gutachtentypList;
    ?>
    </span></td>
            <td class="ewTableHeader"><span>Auftragsnummer</span></td>
            <td class="ewTableAltRow"><span>
    <input type="text" readonly="1" name="x_auftragsnummer" id="x_auftragsnummer" size="45" maxlength="15" value="<?php $time gettimeofday(); echo $x_sachverstaendigergmdate("dmy"),"-",$time[usec],"A",$i; echo htmlspecialchars(@$x_auftragsnummer);  ?>">
    </span></td>
        </tr>
        <tr>
            <td class="ewTableHeader"><span>Sachverstaendiger</span></td>
            <td class="ewTableAltRow"><span>
    <?php
    $x_sachverstaendigerList 
    "<select name=\"x_sachverstaendiger\">";
    $x_sachverstaendigerList .= "<option value=''>Sachverständiger wählen!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>";
        
    $x_sachverstaendigerList .= "<option value=\"KHD\"";
        if (@
    $x_sachverstaendiger == "MU") {
            
    $x_sachverstaendigerList .= " selected";
        }
        
    $x_sachverstaendigerList .= ">" "Müller" "</option>";
        
    $x_sachverstaendigerList .= "<option value=\"ME\"";
        if (@
    $x_sachverstaendiger == "ETS") {
            
    $x_sachverstaendigerList .= " selected";
        }
        
    $x_sachverstaendigerList .= ">" "Meier" "</option>";
    $x_sachverstaendigerList .= "</select>";
    echo 
    $x_sachverstaendigerList;
    ?>
    </span></td>
            <td class="ewTableHeader"><span></span></td>
            <td class="ewTableAltRow"><span></span></td>
        </tr>
                <tr>
            <td class="ewTableHeader"><span>Auftraggeber</span></td>
            <td class="ewTableAltRow"><span>
    <input type="text" name="x_auftraggeber" id="x_auftraggeber" size="45" maxlength="30" value="<?php echo htmlspecialchars(@$x_auftraggeber?>">
    </span></td>
            <td class="ewTableHeader"><span>Kennzeichen Auftraggeber</span></td>
            <td class="ewTableAltRow"><span>
    <input type="text" name="x_kennzeichen_auftraggeber" id="x_kennzeichen_auftraggeber" size="45" maxlength="10" value="<?php echo htmlspecialchars(@$x_kennzeichen_auftraggeber?>">
    </span></td>
        </tr>
    .
    .
    .
    .
    </form>.....</table>

    <?php
    phpmkr_db_close
    ($conn);
    ?>

    <?php

    //-------------------------------------------------------------------------------
    // Funktion zum Einfügen der Daten AddData()
    // - Feld-Variablen werden ausgelesen

    function AddData($conn)
    {
        global 
    $x_id;
        
    $sSql "SELECT * FROM `gutachten`";
        
    $sWhere "";
        
    $sGroupBy "";
        
    $sHaving "";
        
    $sOrderBy "";

        
    // Check for duplicate key
        
    $bCheckKey true;
        
    $sWhereChk $sWhere;
        if ((@
    $x_id == "") || (is_null($x_id))) {
            
    $bCheckKey false;
        } else {
            if (
    $sWhereChk <> "") { $sWhereChk .= " AND "; }
            
    $sTmp =  (get_magic_quotes_gpc()) ? stripslashes($x_id) : $x_id;            
            
    $sWhereChk .= "(`id` = " addslashes($sTmp) . ")";
        }
        if (
    $bCheckKey) {
            
    $sSqlChk $sSql " WHERE " $sWhereChk;
            
    $rsChk my_query($sSqlChk$conn) or die("Failed to execute query: " my_error() . '<br>SQL: ' $sSqlChk);
            if (
    my_num_rows($rsChk) > 0) {
                
    $_SESSION["ewmsg"] = "Duplicate value for primary key";
                
    my_free_result($rsChk);
                return 
    false;
            }
            
    my_free_result($rsChk);
        }

        
    // Field auftragsnummer
        
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($GLOBALS["x_auftragsnummer"]) : $GLOBALS["x_auftragsnummer"]; 
        
    $theValue = ($theValue != "") ? " '" $theValue "'" "NULL";
        
    $fieldList["`auftragsnummer`"] = $theValue;

        
    // Field gutachtentyp
        
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($GLOBALS["x_gutachtentyp"]) : $GLOBALS["x_gutachtentyp"]; 
        
    $theValue = ($theValue != "") ? " '" $theValue "'" "NULL";
        
    $fieldList["`gutachtentyp`"] = $theValue;

        
    // Field sachverstaendiger
        
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($GLOBALS["x_sachverstaendiger"]) : $GLOBALS["x_sachverstaendiger"]; 
        
    $theValue = ($theValue != "") ? " '" $theValue "'" "NULL";
        
    $fieldList["`sachverstaendiger`"] = $theValue;

        
    // Field auftraggeber
        
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($GLOBALS["x_auftraggeber"]) : $GLOBALS["x_auftraggeber"]; 
        
    $theValue = ($theValue != "") ? " '" $theValue "'" "NULL";
        
    $fieldList["`auftraggeber`"] = $theValue;

        
    // Field kennzeichen_auftraggeber
        
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($GLOBALS["x_kennzeichen_auftraggeber"]) : $GLOBALS["x_kennzeichen_auftraggeber"]; 
        
    $theValue = ($theValue != "") ? " '" $theValue "'" "NULL";
        
    $fieldList["`kennzeichen_auftraggeber`"] = $theValue;
        
    // insert into database
        
    $sSql "INSERT INTO `gutachten` (";
        
    $sSql .= implode(","array_keys($fieldList));
        
    $sSql .= ") VALUES (";
        
    $sSql .= implode(","array_values($fieldList));
        
    $sSql .= ")";
    /*************FOLGENDE ANWEISUNG IST MEIN PROBLEMFALL**************/
       
    if(isset($_POST['Action'])) {
       echo 
    $x_id$X_auftragsnummer;
         
    $sSql2 "INSERT INTO `kalkulation` (`gutachtennummer`) VALUES('$x_auftragsnummer')";
             
    phpmkr_query($sSql2$conn) or die("Failed to execute query: " phpmkr_error() . '<br>SQL: ' $sSql2);
         } else { }
    /********************************ENDE DER ANWEISUNG**************************/
        
    $rs my_query($sSql,$conn) or die("Failed to execute query: " my_error() . '<br>SQL: ' $sSql);
        if (
    my_num_rows($rs) == 0) {
            
    $bLoadData false;
        }else{
            
    $bLoadData true;
            
    $row my_fetch_array($rs);

            
    // Get the field contents
            
    $GLOBALS["x_id"] = $row["id"];
            
    $GLOBALS["x_auftragsnummer"] = $row["auftragsnummer"];
            
    $GLOBALS["x_gutachtentyp"] = $row["gutachtentyp"];
            
    $GLOBALS["x_sachverstaendiger"] = $row["sachverstaendiger"];
            
    $GLOBALS["x_auftraggeber"] = $row["auftraggeber"];
            
    $GLOBALS["x_kennzeichen_auftraggeber"] = $row["kennzeichen_auftraggeber"];
        }
        
    my_free_result($rs);
        return 
    $bLoadData;
    }
    ?>
    Bei der Insert-Anweisung bekomme ich immer wieder einen Fehler ausgegeben, bei dem ich nicht weiterkomme.

    Fehler:
    Failed to execute query:
    SQL: INSERT INTO `kalkulation` (`id`, `gutachtennummer`) VALUES('', '')

    Ich übergeben aber folgendes:
    $sSql = "INSERT INTO `kalkulation` (`id`, `gutachtennummer`) VALUES('$x_id', '$x_auftragsnummer')";

    Wo liegt da der Fehler? Was mache ich falsch?

    Für jede Hilfe bin ich sehr dankbar!
    Zuletzt editiert von centauro; 01.07.2007, 14:29.
Working...
X