2016-07-28 1 views
0

データベース情報:<input>要素をエコーする選択した顧客の値を取得するにはどうすればよいですか?

CREATE TABLE 
IF NOT EXISTS tz_customer (
    id INT (10) NOT NULL, 
    customervarchar (255) NOT NULL, 
    NAME VARCHAR (255) NOT NULL, 
    vs_1 VARCHAR (255) NOT NULL, 
    stamp VARCHAR (255) NOT NULL 
) 

そしてPHPコード

これは

<select name="nimetus" id="nimetus" onchange="chg(this.value)">
<?php $q3 = mysql_query("SELECT * FROM tz_kliendid"); while ($f3 = mysql_fetch_array($q3)) { ?>
<option value="<?php echo $f3['id']; ?>"><?php echo $f3['klient']; ?></option><?php } ?></select>

<input type="text" id="target" value="">

のindex.phpファイルです

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script type="text/javascript">function chg(str){ $.ajax({ url: "showdata.php", type: "POST", data: { "val": str }, success: function (response) { $("#target").val(response); }, error: function (xhr) { alert("Some error found!!"); } }); }</script>

とshowdata.phpファイルを

<?php if(isset($_GET['val'])){$nimetus=$_POST['nimetus']; $q1=mysql_query("SELECT vs_1 FROM tz_kliendid WHERE id='".$nimetus."' ORDER BY id DESC LIMIT 1"); $f1=mysql_fetch_array($q1); echo $f1['vs_1']; } ?>




各顧客が "TZ顧客" テーブル "vs_1" の欄には0をマークしましたか1. 私がクストを選択したときどのようにテーブルから選択した顧客「vs_1」の値に達することができますか?

そして

にはどうすれば<input>要素をエコーするために選択した顧客の価値を得るのですか?

+0

を変更するたびに持っている必要はありません、v1の値を保持し、それを表示するには、jQueryを使ってそれにアクセスするために、データの属性を使用することができますだから秘密.. 'vs_1'は別のテーブルですか?そうであれば、2つのテーブル間に 'JOIN'を作成して、必要なデータを他のテーブルから選択することもできます。 – DarkBee

+0

" vs_1 "は同じテーブルにあります。つまり、" tz_customer " –

+0

'vs_1 == 1'はデフォルトでドロップダウンで選択されますか? – DarkBee

答えて

0

こんにちは私はあなたがそのselect.Youを変更する際にすべての顧客のvs_1の価値が必要であると理解することができる限りあなたの質問を理解していませんそれはプライマリですidとしてオプションの値を変更する必要があります。 Javaスクリプトでは、この

<select name="nimetus" id="nimetus" onchange="chg(this.value)"> 
<?php 
    while ($f3 = mysql_fetch_array($q3)) { 
    ?> 
<option value="<?php echo $f3['id']; ?>"> 
     <?php echo $f3['customer']; ?> 
    </option> 
    <?php 
} 
?> 
</select> 
<input type="text" id="target" value=""> 

を行うにはshowdata.phpで

function chg(str){ 
    $.ajax({ 
      url: "showdata.php", 
      type: "POST", //send it through post method 
      data: { 
       "val": str 
      }, 
      success: function (response) { 
       //Do Something 
       $("#target").val(response); 
      }, 
      error: function (xhr) { 
       //Do Something to handle error 
       alert("Some error found!!"); 
      } 
     }); 
} 

if(isset($_POST['val']))//your POST method 
    { 
    $nimetus=$_POST['val']; 
    $q1=mysql_query("SELECT vs_1 FROM tz_kliendid WHERE id='".$nimetus."' ORDER BY id DESC LIMIT 1"); 
    $f1=mysql_fetch_array($q1); 
    echo $f1['vs_1']; 
    }  
+0

が正しいと私の質問を理解していますが、どうすればvs_1の価値を提出せずに得ることができますか? –

+0

提出しないとどういう意味ですか? 私もあなたの質問を理解していないが、私はあなたが選択オプションで提出する前に値をしたいと思うので、Ajaxを試し、dbから値を取得し、オプションを設定する – mamosek

+0

vs_1の値を –

0

あなたはこれを行うことによって、あなたは余分なAJAX呼び出しにあなたが値

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <meta charset="UTF-8"> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    </head> 
    <body> 
     <?php 
      $option = ''; 
      $q3 = mysql_query("SELECT * FROM tz_customer"); 
      while ($f3 = mysql_fetch_array($q3)) { 
       $option .= ' 
        <option value="' . $f3['customer'] . '"' . ($f3['id'] == $f3['customer'] ? " selected" : "") . ' data-v1="'.$f3['v1'].'"> 
         ' . $f3['customer'] . 
        '</option>'; 
      } ?> 
     <select name="nimetus" id="nimetus"> 
      <?= $option ?> 
     </select> 
     <div id="output"></div> 
     <script> 
     $(function() { 
      $('#cbo').on('change', function() { 
       var opt = $('option:selected', $(this)); 
       $('#output').html(opt.text()+ ' => v1 :'+ opt.data('v1')); 
      }); 
     }); 
     </script> 
    </body> 
</html> 
関連する問題