2013-07-29 28 views
0

我正在開發一個項目。面臨訪問數據庫值的問題。 這是我的組合框的代碼:PHP - 通過選擇ComboBox值在表單中顯示數據庫值

<select name="pp"> 
    <option>--Title--</option> 
    <?php include('DBConnect.php'); 
    $query = mysqli_query($con,"SELECT * from table"); 
    while($row = mysqli_fetch_assoc($query)){?> 
    <option><?php echo $row['Teach_PPIJ_TNO']; ?></option> 
    <?php } ?> 
</select> 

(組合框的值由mysql查詢及其工作進賬),我有一個表單,字段等於表中的字段

而且形式也包含顯示(提交)按鈕。

問題:如何通過選擇組合框值並單擊顯示按鈕來顯示該窗體域中的數據庫值。

編輯:檢查這張截圖爲更好地理解

https://www.dropbox.com/s/w0glc7mhwtnc75q/Untitled.jpg

在此圖像中,組合框顯示錶(clumn「與頁碼標題」)中只有一列,然後選擇組合框的值後,應該以上面的形式顯示其對應的行值。希望這會幫助你。

+1

我不知道我理解你的問題,但如果我這樣做,我認爲AJAX是你在找什麼。 – GionJh

+0

你能解釋一下你的問題好一點嗎?我不完全理解它。 – putvande

+0

Combobox值僅顯示數據庫的一列。當在combox中選擇特定的值時,它的相應行的值應該在表單中可見。 –

回答

0

如果我正確理解您的問題,您希望相應地將表單域值更改爲所選值。這可以通過使用javascript或使用PHP刷新頁面和加載的方式來實現。使用JavaScript(jQuery的)

方法使用

<select name="pp" onchange="handleDroplistChange(this);"> 
    <option>--Title--</option> 
    <?php 
    include('DBConnect.php'); 
    $query = mysqli_query("SELECT * from table", $con); 
    while($row = mysqli_fetch_assoc($query)) { 
    ?> 
    <option><?php echo $row['Teach_PPIJ_TNO']; ?></option> 
    <?php } ?> 
</select> 

<!-- other input to load after selecting value--> 
<input id= "field1" type="text" name="field_name"> 
<script> 
    function handleDroplistChange(droplist) 
    { 
     var request = jQuery.ajax('somescript.php?selected_value='+droplist.value); 
     request.done(function(data){ 
      var result = JSON.decode(data); 
      jq('#field1').val(result.field_name); // assuming that returning object with field names as attributes 
     }); 
    } 
</script> 

方法提神

<select name="pp" onchange="window.location='somescript.php?selected_value='+this.value"> 
    <option>--Title--</option> 
    <?php 
    include('DBConnect.php'); 
    $query = mysqli_query("SELECT * from table", $con); 
    while($row = mysqli_fetch_assoc($query)) { 
    ?> 
    <option><?php echo $row['Teach_PPIJ_TNO']; ?></option> 
    <?php } ?> 
</select> 

<!-- other input to load after selecting value--> 
<?php 
// load values according to selected value 
$selected_value = $_GET['selected_value']; 
?> 

<input id= "field1" type="text" name="field_name" value="<?php echo $retrieved_value;?>"> 
+0

對不起,模糊寫作。對於你的答覆。我對阿賈克斯不太瞭解,但我可以理解你的建議。但Combobox僅顯示數據庫的一列。因此選擇組合框的特定值時,應在同一頁面上的表單中顯示該值的相應行。 –

+0

那麼,如果只有一個值,爲什麼還需要組合框呢?如果可以有更多的第二種方法(從答案)應該工作 – insanebits

+0

沒有一個值...從一個columnm的所有值檢查圖像我更新...但謝謝你幫助我和回覆。我得到了解決方案。在我通過單獨的php文件處理表單之前。但爲了實現我的目標,我將不得不在表單退出的同一文件上編寫腳本。我知道它很讓你困惑。但是我的問題已經解決了。感謝您的回覆 :) –

相關問題