2017-07-21 67 views
2

我已經從sql結果php中填充下拉列表,現在我試圖在同一頁面中將選定的值變爲php變量,但它不是加工。你能幫我嗎。以下是代碼。從php的結果下拉列表中獲取選定的值在html html

<?php 
    $mid="mario"; 
    $sql = "SELECT * FROM tbl_prdy" ; 
    $result = mysqli_query($conn,$sql); 
    echo "<select name='list'>"; 
    while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { 
    echo "<option value='" . $row['col_of_fac'] . "'>" . $row['col_of_fac'] . " 
    </option>"; 
    } 
    echo "</select>"; 
    $varsel = $_POST['list']; 
    echo "hai"; 
    echo $varsel; 

?> 

$varsel = $_POST['list'];不工作。

+0

請添加您的表格,以便我們可以幫助您更好 –

+0

請在插入查詢中發佈您的選擇名稱.. – user3663

回答

1

你應該

1-應用的形式

2-發送與方法「POST」變量相同的文件PHP

<?php 
    // display the errors 
    error_reporting(E_ALL); 
    ini_set("display_errors", 1); 
?> 

<?php 
    // when the form submitted 
    if(!empty($_POST['list'])){ 
     echo $_POST['list']; 
    } 
?> 

<?php 
    // connection test 
    $conn=mysqli_connect("localhost","user","pass","db"); //replace the (user, pass, db) with your parameters 
    if (mysqli_connect_errno()) 
    { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     die(); 
    } 

    //if your connection succeded 
    $sql = "SELECT * FROM tbl_prdy" ; 
    $result = mysqli_query($conn,$sql); 
?> 

<form method="post" action="<?= $_SERVER['PHP_SELF']; ?>"> 
    <select name="list"> 
    <?php while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)): ?> 
     <option value="<?= $row['col_of_fac']; ?>"><?= $row['col_of_fac']; ?></option> 
    <?php endwhile; ?> 
    </select> 
    <input type="submit" value="valider"> 
</form> 

,如果你想打印選定的價值和不是沒有形式

,那麼你必須使用jquery

<?php 
     // display the errors 
     error_reporting(E_ALL); 
     ini_set("display_errors", 1); 
    ?> 

    <?php 
     // when the form submitted 
     if(!empty($_POST['list'])){ 
     echo $_POST['list']; 
     } 
    ?> 

    <?php 
     // connection test 
     $conn=mysqli_connect("localhost","user","pass","db"); //replace the (user, pass, db) with your parameters 
     if (mysqli_connect_errno()) 
     { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     die(); 
     } 

     //if your connection succeded 
     $sql = "SELECT * FROM tbl_prdy" ; 
     $result = mysqli_query($conn,$sql); 
    ?> 

    <select name="list"> 
    <?php while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)): ?> 
     <option value="<?= $row['col_of_fac']; ?>"><?= $row['col_of_fac']; ?></option> 
    <?php endwhile; ?> 
    </select> 

    <p id="value-selected"></p> 

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <script> 
     $(function(){ 
      $("select[name=list]").on("change", function() { 
       var valueSelected = $(this).val(); 
       $("#value-selected").html(valueSelected); 
      }); 
     }); 
    </script> 
+0

嘗試了代碼。但它不起作用。 – djac

+0

@djac;你有什麼結果? – bfahmi

+0

「海」和$ varsel的價值沒有得到顯示。我認爲,即使條件本身不起作用。 FYI-下拉列表已填充。 – djac

1

$ varsel = $ _POST ['list'];不管用。 :當表單POST方法提交它只會工作,

(與當前代碼選擇框打印,並且您無需提交形式獲取後) 的邏輯應該是這樣 形式選擇框是由使用下面的代碼和用戶選擇並點擊提交:

<?php 
    $mid="mario"; 
    $sql = "SELECT * FROM tbl_prdy" ; 
    $result = mysqli_query($conn,$sql); 
    echo "<select name='list'>"; 
    while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { 
    echo "<option value='" . $row['col_of_fac'] . "'>" . $row['col_of_fac'] . " 
    </option>"; 
    } 
    echo "</select>"; 
?> 
  • 後提交下面的代碼形式應執行並在網絡控制檯,在頁頭,你可以,如果需要看數據傳輸到請求的頁面

  • 相關問題