Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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 - Fatal编程技术网

Php 从数据库中选择选项

Php 从数据库中选择选项,php,Php,我想使用数据库中的数据创建“选择选项”列表 我做了这样的事 <?php if ($resultt->num_rows > 0) { // output data of each row while($row = $resultt->fetch_assoc()) { ?> <select name="name" class="custom-select"> <

我想使用数据库中的数据创建“选择选项”列表

我做了这样的事

<?php
  if ($resultt->num_rows > 0) {
      // output data of each row
      while($row = $resultt->fetch_assoc()) {
          ?>
          <select name="name" class="custom-select">
            <?php

          echo "<option value='1'" . $row['name'] . "'>" . $row['name'] . "</option>";
          ?>
          </select>
          <?php
      }
  } else {
      echo "0 results";
  }
?>

我看到了我的输出,但每个数据都在单独的“框”中。我只想让列表选择例如选项1或2。
我做错了什么?

您需要将
元素置于循环之外

<?php
if ($resultt->num_rows > 0) {
  echo '<select name="name" class="custom-select">';
  // output data of each row
  while($row = $resultt->fetch_assoc()) {
    echo "<option value='$row[id]'>$row[name]</option>";
  }

  echo '</select>';
} else {
  echo "0 results";
}

您需要将
元素置于循环之外

<?php
if ($resultt->num_rows > 0) {
  echo '<select name="name" class="custom-select">';
  // output data of each row
  while($row = $resultt->fetch_assoc()) {
    echo "<option value='$row[id]'>$row[name]</option>";
  }

  echo '</select>';
} else {
  echo "0 results";
}

之所以发生这种情况,是因为您将
放入循环中,所以每次新的

只需将您的选择放入如下所示的外部循环

<select name="name" class="custom-select">
<?php 
while($row = $resultt->fetch_assoc()) {
    echo "<option value='1'" . $row['name'] . "'>" . $row['name'] . "</option>";
}
?>
</select>

之所以发生这种情况,是因为您将
放入循环中,所以每次新建

只需将您的选择放入如下所示的外部循环

<select name="name" class="custom-select">
<?php 
while($row = $resultt->fetch_assoc()) {
    echo "<option value='1'" . $row['name'] . "'>" . $row['name'] . "</option>";
}
?>
</select>

您正在每个循环中嵌套select元素

<select name="name" class="custom-select">
<?php 
        while($row = $resultt->fetch_assoc()) {
            echo "<option value='".$row['name']."'>" .$row['name']."</option>";
         }
?>
</select>

您正在每个循环中嵌套select元素

<select name="name" class="custom-select">
<?php 
        while($row = $resultt->fetch_assoc()) {
            echo "<option value='".$row['name']."'>" .$row['name']."</option>";
         }
?>
</select>


如何从值中获取数据?例如,我想选择值为1的选项1或值为2的选项2?我想用价值number@NelsonBiggety将任意数字分配给来自数据库的值没有什么意义,您可能更应该使用来自数据库的记录id作为此处的选项值。我在数据库中获得了id值,例如:id 1 name:something1如何使用id?注意空格:
value='1'。$row['name'].'
'1'之后没有任何字符。
我可以执行如下操作:value=“.$row['id']”?如何从值中获取数据?例如,我想选择值为1的选项1或值为2的选项2?我想使用值number@NelsonBiggety将任意数字分配给来自数据库的值没有什么意义,您可能更应该使用来自数据库的记录id作为这里的选项值例如,tabase是:id 1 name:something1如何使用id?注意你的空格:
value='1'。$row['name']。“
'1'
之后就没有了。我可以执行如下操作:value=“.$row['id']”?我刚刚测试过,似乎没有发现任何不好的标记。请指出它在哪里@mickmackusa@mickmackusa您完全正确,答案已更新。谢谢!您可能还注意到,不需要
声明,因为它与选项文本相同。如果您阅读了所选答案,OP希望
id
value无论如何。编辑来复制已接受的答案是没有用的。是的,我知道。但是这样留下我的答案很烦人。我刚刚测试了它,似乎没有发现任何不好的标记。你能指出它在哪里吗@mickmackusa@mickmackusa你完全正确,答案更新。谢谢!你可以所以请注意,
声明是不需要的,因为它与选项文本相同。如果您阅读所选的答案,OP无论如何都想要
id
值。但是编辑以复制接受的答案是没有用的。是的,我知道。但是,让我的答案保持这样是很烦人的