15

選択した値を db から選択ボックスに取得する必要があります。やり方を教えてください。これがコードです。注: 'options' の値はカテゴリによって異なります。

<?php 
  $sql = "select * from mine where username = '$user' ";
  $res = mysql_query($sql);
  while($list = mysql_fetch_assoc($res)){
    $category = $list['category'];
    $username = $list['username'];
    $options = $list['options'];
?>

<input type="text" name="category" value="<?php echo '$category' ?>" readonly="readonly" />
<select name="course">
   <option value="0">Please Select Option</option>
   <option value="PHP">PHP</option>
   <option value="ASP">ASP</option>
</select>

<?php 
  }
?>
4

16 に答える 16

9

私が考えることができる最も簡単な方法は次のとおりです。

<?php

$selection = array('PHP', 'ASP');
echo '<select>
      <option value="0">Please Select Option</option>';

foreach ($selection as $selection) {
    $selected = ($options == $selection) ? "selected" : "";
    echo '<option '.$selected.' value="'.$selection.'">'.$selection.'</option>';
}

echo '</select>';

コードは基本的に、foreach ループで呼び出されるすべてのオプションを配列に配置します。ループは、$options 変数が現在の選択と一致するかどうかを確認します。一致する場合は $selected が選択され、そうでない場合は空白に設定されます。最後に、配列からの選択を含むオプション タグが返され、その特定の選択が $options 変数と等しい場合、選択されたオプションとして設定されます。

于 2016-08-22T00:38:56.810 に答える
1
$option = $result['semester'];
<option >Select</option>
                    <option value="1st" <?php if($option == "1st") echo 'selected = "selected"'; ?>>1st</option>
                    <option value="2nd" <?php if($option == "2nd") echo 'selected = "selected"'; ?>>2nd</option>
                    <option value="3rd" <?php if($option == "3rd") echo 'selected = "selected"'; ?>>3rd</option>
                    <option value="4th" <?php if($option == "4th") echo 'selected = "selected"'; ?>>4th</option>
                    <option value="5th" <?php if($option == "5th") echo 'selected = "selected"'; ?>>5th</option>
                    <option value="6th" <?php if($option == "6th") echo 'selected = "selected"'; ?>>6th</option>
                    <option value="7th" <?php if($option == "7th") echo 'selected = "selected"'; ?>>7th</option>
                    <option value="8th" <?php if($option == "8th") echo 'selected = "selected"'; ?>>8th</option>
                </select>
于 2021-06-12T10:30:26.747 に答える
1

最も簡単なソリューション

オプションに余分なものが追加されますが、問題は解決されます。

<?php 
    if ($editing == Yes) {
        echo "<option value=\".$MyValue.\" SELECTED>".$MyValue."</option>";
    }
?>
于 2020-05-13T18:08:19.997 に答える
0

最高のコードとシンプル

<select id="example-getting-started" multiple="multiple" name="category">

    <?php
    $query = "select * from mine";
    $results = mysql_query($query);

    while ($rows = mysql_fetch_assoc(@$results)){ 
    ?>
    <option value="<?php echo $rows['category'];?>"><?php echo $rows['category'];?></option>

    <?php
    } 
    ?>
</select>
于 2015-08-22T13:42:04.180 に答える
0
<?php 
  $sql = "select * from mine where username = '$user' ";
  $res = mysql_query($sql);
  while($list = mysql_fetch_assoc($res)){
    $category = $list['category'];
    $username = $list['username'];
    $options = $list['options'];
?>

<input type="text" name="category" value="<?php echo '$category' ?>" readonly="readonly" />
<select name="course">
<option value="0">Please Select Option</option>
<option value="PHP" <?php echo $options == 'PHP' ? 'selected' : ''; ?> >PHP</option>
<option value="ASP" <?php echo $options == 'ASP' ? 'selected' : ''; ?> >ASP</option>
</select>

<?php 
  }
?>
于 2021-03-22T08:49:46.430 に答える
-1

これはあなたを助けるかもしれません。

?php 
$sql = "select * from mine where username = '$user' ";
$res = mysql_query($sql);
while($list = mysql_fetch_assoc($res))
{
$category = $list['category'];
$username = $list['username'];
$options = $list['options'];
?>
<input type="text" name="category" value="<?php echo '$category' ?>" readonly="readonly" />
<select name="course">
<option value="0">Please Select Option</option>
// Assuming $list['options'] is a coma seperated options string 
$arr=explode(",",$list['options']);
<?php foreach ($arr as $value) { ?>
   <option value="<?php echo $value; ?>"><?php echo $value; ?></option>
<?php } >
</select>

<?php 
}
?>
于 2013-09-11T06:04:05.530 に答える
-1

まず、データベースからデータを取得し、選択ボックスにオプションとして表示する必要があると思います。次に、その選択オプションの値をデータベースに保存する必要があります。

  1. まず、データベースから値を取得する必要があります
function showAllData(){
    $connection = mysqli_connect('localhost', 'root', '', 'beva');
    $query = "SELECT * FROM users";
    $result = mysqli_query($connection, $query);

    if(!$result){
        die('Query Failed'. mysqli_error());
    }
    while($row = mysqli_fetch_assoc($result)){
        $id = $row['id'];
        echo $id;
        echo "<option name='$id'>$id</option>";
    } 
}
  1. 次に、選択オプションでこの関数を呼び出す必要があります
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js" integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0" crossorigin="anonymous"></script>
</head>
<body>
<div class="container mt-3 mb-5">
    <div class="card">
        <form action="html.php" method="post">
            <input type="text" name="username" placeholder="Enter Username">
            <input type="password" name="password" placeholder="Enter Password">
            <select name="se"> <?php showAllData();?> </select>
            <input type="submit" name="submit">
        </form>
    </div>
</div>
</body>
</html>

ここでは、その関数を呼び出すだけです。<select name="se">選択ボックスに名前を付けたことを確認してください

  1. 次に、その値をデータベースに保存する必要があります
if(isset($_POST['submit'])){
        $connection = mysqli_connect('localhost', 'root', '', 'beva');
        $username = $_POST['username'];
        $password = $_POST['password'];
        $id = $_POST['se'];
        echo $id;

        $query = "UPDATE users SET username = '$username', password = '$password' WHERE id = $id ";

        $result = mysqli_query($connection, $query);
        echo $query;
        if(!$result){
            echo $query;
            die("Query Failed" . mysqli_error($connection));
        }  
}
  1. その後、レコードが更新されます。ここでは、リストを 1 つずつ作成する必要はありません。
于 2021-03-30T07:19:19.783 に答える