Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在多选框中显示数据库中的值_Php_Drop Down Menu_Multiple Select - Fatal编程技术网

Php 在多选框中显示数据库中的值

Php 在多选框中显示数据库中的值,php,drop-down-menu,multiple-select,Php,Drop Down Menu,Multiple Select,这是基本的多重选择框: <select name="State" size="5" multiple="multiple"> <option value="1">Kedah</option> <option value="2">Kelantan</option> </select> 试一试 试试- $mysqli = new mysqli("localhost", "user", "password",

这是基本的多重选择框:

<select name="State" size="5" multiple="multiple">

    <option value="1">Kedah</option>
    <option value="2">Kelantan</option>

</select>
试一试

试试-

$mysqli = new mysqli("localhost", "user", "password", "database");
$res = $mysqli->query("select sta_id,sta_name from sys_state where sta_status = '1'");

?>
<select name="State" size="5" multiple="multiple">
<?php

while ($row = $res->fetch_assoc()) {
    echo "<option value='".$row['sta_id']."'>".$row['sta_name']."</option>";
}
?>
</select>
$mysqli=newmysqli(“本地主机”、“用户”、“密码”、“数据库”);
$res=$mysqli->query(“从系统状态中选择sta_id、sta_名称,其中sta_状态为'1'”);
?>

好吧,基本上你可以
回音
它们

$dsn = "mysql:host=localhost;dbname=x"; 
$user="root";
$password="";
try{
$connect = new PDO($dsn,$user,$password); // PDO= PHP Data Object
$connect->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){echo $e->getMessage();}


$select = $connect->query("select sta_id,sta_name from sys_state where sta_status = '1';"); 

echo "<select name=\"State\" size=\"5\" multiple=\"multiple\">";

foreach ($select as $temp){


   echo "<option value=\"1\">".temp["sta_name"]."  </option>";
    ......
    ....


}
echo "</select>";

$connect=null;// CLOSE CONNECTION
$dsn=“mysql:host=localhost;dbname=x”;
$user=“root”;
$password=“”;
试一试{
$connect=new PDO($dsn,$user,$password);//PDO=PHP数据对象
$connect->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
}catch(异常$e){echo$e->getMessage();}
$select=$connect->query(“从系统状态中选择sta_id、sta_名称,其中sta_状态为'1';”;
回声“;
foreach($选择为$temp){
echo“.temp[“sta_name”]。”;
......
....
}
回声“;
$connect=null;//密切联系
但是把它们构造成一个函数会更好

  • 首先,您应该连接到DB
  • 下一步是获取这些行并将数据写入变量(它可以是数组或任何对象,在我的示例中,它是数组):

  • 最后,在html页面上打印它们:

    <select name="State" size="5" multiple="multiple">
    <?php
    foreach ($resultData as $key => $value) {
        echo '<option value="'.$key.'">'.$value.'</option>';
    }
    ?>
    </select>
    
    
    

  • 不过我还是这样做了:

    <?php     // MULTI SELECTION 
    
    
    
        $sql1 = " SELECT sta_id,sta_name FROM dof_perkhidmatan.sys_state WHERE sta_status = '1' ";
    
        $result1 =  $db->sql_query($sql1,END_TRANSACTION);
    
        if($db->sql_numrows($result1) > 0)
        {
    
        ?>
    
         <select id="State" name="State" size="16" multiple="multiple">
         <?php
    
        // output data of each row
        while($row_select = $db->sql_fetchrow($result1))        
            {
             echo '<option value="'.$row_select['sta_id'].'">'.$row_select['sta_name'].'</option>';
            }
    
    
        ?>
        </select>
        <?php
        }
        ?>
    

    试试这个,它对我很管用

    <?php
    <!-- Connect to your database-->
    
    require 'dbconnect.php';
    
    <!--  Fetch required data from the database-->
    
    $sql="SELECT sta_id,sta_name from sys_state WHERE sta_status = '1' ";
    
    $result = mysqli_query($con, $sql);
    
    ?>
    <select multiple size="6">
    
    <?php while($row = mysqli_fetch_assoc($result)){?>
              <option value="<?php echo $row['sta_id']; ?>"> <?php echo $row['sta_name']; ?></option>
    
     <?php
    }
    ?>
     </select> 
    
    
    
    那么您尝试了什么?尝试调用包含sqlselect选项值的函数,但失败了您使用的是哪种db连接?mysql_XXX、MySqlI、PDO?你需要提供更多的信息。否则,人们将无法提供有用的答案。这是一个只包含代码的答案,不会添加任何其他答案更全面涵盖的内容。(此答案还包括非最佳实践编码)
    $sql = "SELECT sta_id,sta_name FROM sys_state WHERE sta_status = '1'";
    $result = $conn->query($sql);
    $resultData = [];
    if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
             $resultData[$row['sta_id']] = $row['sta_name'];
        }
    }
    
    <select name="State" size="5" multiple="multiple">
    <?php
    foreach ($resultData as $key => $value) {
        echo '<option value="'.$key.'">'.$value.'</option>';
    }
    ?>
    </select>
    
    <?php     // MULTI SELECTION 
    
    
    
        $sql1 = " SELECT sta_id,sta_name FROM dof_perkhidmatan.sys_state WHERE sta_status = '1' ";
    
        $result1 =  $db->sql_query($sql1,END_TRANSACTION);
    
        if($db->sql_numrows($result1) > 0)
        {
    
        ?>
    
         <select id="State" name="State" size="16" multiple="multiple">
         <?php
    
        // output data of each row
        while($row_select = $db->sql_fetchrow($result1))        
            {
             echo '<option value="'.$row_select['sta_id'].'">'.$row_select['sta_name'].'</option>';
            }
    
    
        ?>
        </select>
        <?php
        }
        ?>
    
    <?php
    <!-- Connect to your database-->
    
    require 'dbconnect.php';
    
    <!--  Fetch required data from the database-->
    
    $sql="SELECT sta_id,sta_name from sys_state WHERE sta_status = '1' ";
    
    $result = mysqli_query($con, $sql);
    
    ?>
    <select multiple size="6">
    
    <?php while($row = mysqli_fetch_assoc($result)){?>
              <option value="<?php echo $row['sta_id']; ?>"> <?php echo $row['sta_name']; ?></option>
    
     <?php
    }
    ?>
     </select>