2017-01-02 7 views
0

別のmysqlテーブルからドロップダウンリストを入力し、2つの列の値を変数に代入したいと思っています - "select name、eid、perc from employee" "John Doe"は$ eid = 1234、$ perc = 20となります。ドロップダウンリストに値を設定して2つの変数を渡す

これについてのお手伝いをさせていただきます。

ありがとう - ここでマット

は、私が働いているコードです:

PHP

<?php 

    //session_start(); 

    $page_title = 'New invoice'; 
include ('includes/header.html'); 

// Check for form submission: 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

    require ('mysqli_connect.php'); // Connect to the db. 

    /*$errors = array(); // Initialize an error array. */ 

    // Invoice number is automatic 

    if (empty($_POST['op1'])) { 
     $errors[] = 'Operation needs to be entered.'; 
     } else { 
     $op1 = mysqli_real_escape_string($dbc, trim($_POST['op1'])); 
     } 


    // Amount: 
    if (empty($_POST['amount1'])) { 
     $errors[] = 'Amount to be charged.'; 
     } else { 
     $amount1 = mysqli_real_escape_string($dbc, trim($_POST['amount1'])); 
     } 


    // percentage: 
    if (empty($_POST['perc'])) { 
     $errors[] = 'Select a percentage.'; 
     } else { 
     $perc = mysqli_real_escape_string($dbc, trim($_POST['perc'])); 
     } 

    // eid: 
    if (empty($_POST['eid'])) { 
     $errors[] = 'Enter a techician.'; 
     } else { 
     $eid = mysqli_real_escape_string($dbc, trim($_POST['eid'])); 
     } 

    // Stocknum: 
    if (empty($_POST['stocknum'])) { 
     $errors[] = 'Need a stock number.'; 
     } else { 
     $stocknum = mysqli_real_escape_string($dbc, trim($_POST['stocknum'])); 
     } 

    // Stocknum: 
    if (empty($_POST['myear'])) { 
     $errors[] = 'Enter vehicle year.'; 
     } else { 
     $myear = mysqli_real_escape_string($dbc, trim($_POST['myear'])); 
     }  

    if (empty($_POST['make'])) { 
     $errors[] = 'Enter vehicle make.'; 
     } else { 
     $make = mysqli_real_escape_string($dbc, trim($_POST['make'])); 
     } 

    if (empty($_POST['model'])) { 
     $errors[] = 'Enter vehicle model.'; 
     } else { 
     $model = mysqli_real_escape_string($dbc, trim($_POST['model'])); 
     } 

    if (empty($_POST['vin'])) { 
     $errors[] = 'Enter last 6 of the VIN.'; 
     } else { 
     $vin = mysqli_real_escape_string($dbc, trim($_POST['vin'])); 
     } 

    if (empty($_POST['mileage'])) { 
     $errors[] = 'Enter current mileage.'; 
     } else { 
     $mileage = mysqli_real_escape_string($dbc, trim($_POST['mileage'])); 
     } 

    if (empty($errors)) { // If everything's OK. 
     $q = "INSERT INTO `mwcc`.`wp` (`tdate`, `stocknum`, `myear`, `make`, `model`,`vin`, `eid`, `op1`, `amount1`,`mileage`,`ecomm`) VALUES (CURRENT_DATE(), '$stocknum', '$myear', '$make', '$model','$vin', '$eid', '$op1', '$amount1','$mileage', ($amount1*$perc));"; 
     $r = @mysqli_query ($dbc, $q); // Run the query. 
     //echo ($q); 
     if ($r) { // If it ran OK. 

      // Print a message: 
      echo '<h1>Success!</h1> 
     <p>Invoice has been created!<br /></p>';  

     } else { // If it did not run OK. 

      // Public message: 
      echo '<h1>System Error</h1> 
      <p class="error">Uh oh. There has been an error. We apologize for any inconvenience.</p>'; 

      // Debugging message: 
      echo '<p>' . mysqli_error($dbc) . '<br /><br />Query: ' . $q . '</p>'; 

     } // End of if ($r) IF. 

     mysqli_close($dbc); // Close the database connection. 

     exit(); 

    } else { // Report the errors. 

     echo '<h1>Error!</h1> 
     <p class="error">The following error(s) occurred:<br />'; 
     foreach ($errors as $msg) { // Print each error. 
      echo " - $msg<br />\n"; 
     } 
     echo '</p><p>Please try again.</p><p><br /></p>'; 

    } // End of if (empty($errors)) IF. 

    mysqli_close($dbc); // Close the database connection. 


} // End of the main Submit conditional. 

?> 

HTML:

<form action="newinv.php" method="post"> 
     <p>Stock # 
     <input type="text" name="stocknum" size="15" maxlength="20" value="<?php if (isset($_POST['stocknum'])) echo $_POST['stocknum']; ?>" /> 
     Last 6 of VIN 
     <input type="text" name="vin" size="15" maxlength="6" value="<?php if (isset($_GET['vin'])) echo $_POST['vin']; ?>" /> </p> 
     <p>Year 
     <input type="text" name="myear" size="4" maxlength="4" value="<?php if (isset($_POST['myear'])) echo $_POST['myear']; ?>" /> 
     Make 
     <input type="text" name="make" size="30" maxlength="20" value="<?php if (isset($_POST['make'])) echo $_POST['make']; ?>" /> 
     Model 
     <input type="text" name="model" size="30" maxlength="20" value="<?php if (isset($_POST['model'])) echo $_POST['model']; ?>" /></p> 
     Mileage 
     <input type="text" name="mileage" sizesize="15" maxlength="6" value="<?php if (isset($_POST['mileage'])) echo $_POST['mileage']; ?>" /> </p> 
     <p>Operation <input type="text" name="op1" size="60" maxlength="250" value="<?php if (isset($_POST['op1'])) echo $_POST['op1']; ?>" /> 
      Amount <input type="text" name="amount1" size="8" maxlength="20" value="<?php if (isset($_POST['amount1'])) echo $_POST['amount1']; ?>" /></p> 
     <br> 
     <input type="radio" name="eid" value="1767">Alex H<br> 
     <input type="radio" name="eid" value="1688">Blake S<br> 
     <input type="radio" name="eid" value="1506">Brian M<br> 
     <input type="radio" name="eid" value="1898">Chris V<br> 
     <input type="radio" name="eid" value="3000">Kim R<br> 
     <input type="radio" name="eid" value="1916">Jorden U<br> 
     <input type="radio" name="eid" value="1931">Tina M<br> 
     <input type="radio" name="eid" value="1506">Tanner C<br>  
     <br> 
     <input type="radio" name="perc" value=".35">35% 
     <br> 
     <input type="radio" name="perc" value=".40">40% 
     <p><input type="submit" name="submit" value="Add" /></p> 
     </form> 

答えて

-1

あなたがWHERE条件を使用する必要がありますそれ:

SELECT name, eid, perc FROM employee WHERE eid = ? AND perc = ? 

パラメータをバインドするのにmysqli_stmt_bind_param($stmt, 'ss', $eid, $perc);を使用するより。

0

あなたの質問から私の理解。

上記の検索結果を取得します。フロントエンドのselect name, eid, perc from employee

あなたは、単一の選択で両方の値を渡したい場合、私は__

<?php foreach($result as $user): ?> 
    <select name="eid__perc" > 
     <option value="<?php $user->eid . '__' . $user->perc?>"> 
     <?php $user->name; //in array case $user['name'];?> 
     <option> 
    <select> 
<?php endforeach;?> 

そしてときに

のようなデータを爆発的に同じ区切り文字を使用して情報を保存し、二重アンダースコアを使用しているように、その後いくつかのユニークな区切り文字を使用
list($eid, $perc) = explode('__', $_POST['eid__per']) 
+0

はい。私はこれを実装しようとしましたが、それを得ることができませんでした –

+0

エラー@Maaase? – vijaykumar

+0

これは '従業員'テーブルからデータを取得していません。 –

関連する問題