【问题标题】:Extract from database to form select从数据库中提取到表单选择
【发布时间】:2014-04-04 09:07:09
【问题描述】:

正在处理一个项目,我将从我的数据库中提取并在表单选择中显示池名称。但非常不确定如何比这更进一步。

$con=mysqli_connect("localhost","root","","nih_bw");
// Check connection
if (mysqli_connect_errno($con))
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

  $sql = "Select name from pools";

if(!$result = $db->query($sql)){
    die('There was an error running the query [' . $db->error . ']');

 }

mysqli_close($con);

【问题讨论】:

  • 代码不完整。 mysqli_close()之前缺少右括号
  • 您可以尝试一些教程或至少其他类别的问题。以The very recent one 为例

标签: php html forms mysqli


【解决方案1】:

你可以这样做:

<?php
$con=mysqli_connect("localhost","root","","nih_bw");
// Check connection
if (mysqli_connect_errno()){
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"Select name from pools");
echo "<select name='mypool'>";

$default_name = "foo_bar"; 
while($row = mysqli_fetch_array($result)){
  $opt_name = $row['name'];
  $str_selected = "";
  if($opt_name == $default_name){
      $str_selected = "selected";
  }
  echo "<option value='".$opt_name."' ".$str_selected." >" . $opt_name. "</option>";
}
echo "</select>";
mysqli_close($con);
?>

您可以在此处查看介绍性文章:http://www.w3schools.com/Php/php_mysql_select.asp

希望这会有所帮助。

【讨论】:

  • 嘿,选择名称=mypool 中出现错误。那里会有什么?
  • '".$opt_name/"'&gt; 有错误,因为它必须是 '".$opt_name."'&gt;
  • @user3185936 抱歉,我在“从池中选择名称”行中输入错误。我把它固定在上面的答案上,你能再试一次吗?
  • @naota 很高兴....我在您的代码中发现了一个小错误,因此我对其进行了编辑以更正它。
  • 你的意思是选择属性&lt;option value="..." selected&gt; 吗?我将添加示例代码。
【解决方案2】:

尝试像这样使用您的查询:

<select name="batch">
    <option value="">Select One</option>
    <?php 
    $pd=$dbh->prepare("SELECT * FROM `pools`");
    $pd->execute();
    foreach($pd->fetchAll() as $rw) :
    ?>
        <option value="<?php echo $rw['id'];?>"><?php echo $rt['name'];?></option>
    <?php endforeach; ?>
</select>

它在 pdo 中,但你会明白我的逻辑。

【讨论】:

  • 我想知道他们是否也不再支持不相关的答案
  • @YourCommonSense :) 我精通 pdo,因此我详细阐述了我的逻辑。
【解决方案3】:

我认为这对你有用。 (代码未经测试)

<?php
    $record = array();
    $con=mysqli_connect("localhost","root","","nih_bw");
    // Check connection
    if (mysqli_connect_errno($con)){
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    $sql = "Select name from pools";
    if(!$result = mysql_query($sql,$con)){
        die('There was an error running the query [' . $db->error . ']');
    }
    else{
        while($row = mysql_fetch_assoc($result)){
            $record[] = $row;
        }
    }

    mysqli_close($con);
?>
<select>
    <?php
        foreach($record as $value){
            echo "<option>".$value."</option>";
        }
    ?>
</select>

【讨论】:

  • 出现错误:if(!$result = $db->query($sql)){ --ERROR: Undefined variable: db
  • 你的意思是什么驱动@你的常识?
  • 您的代码将 mysqli_*mysql_* 函数混合在一起,这就是 OP 失败的原因。 @BlankHead 这两个 API 不能混合使用。实际上,如果您知道如何混合它们,则可以,但在这种情况下则不行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-21
  • 2014-09-10
  • 1970-01-01
相关资源
最近更新 更多