簡體   English   中英

從php html中的sql結果填充下拉列表中獲取選定的值

[英]get the selected value from sql result populated dropdown list in php html

我已經從phpsql結果中填充了下拉列表,現在我試圖將所選值轉換為同一頁面中的php變量,但是它不起作用。 你能幫我嗎。 下面是代碼。

<?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']; 不管用。

你應該

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>

$ 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>";
 ?>
  1. 在下面的代碼提交的表單應該執行之后,在網絡控制台的頁面標題中,您可以查看是否將所需的數據傳輸到了請求的頁面

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM