php - 自动 jquery 重新提交适用于表单中的硬编码值,但不适用于 PHP 变量

标签 php jquery mysql forms variables

我用过

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

当用户选择通过表单中的选项(在本例中为“ Material ”)设置限制时,自动重新加载页面。 这非常适合硬编码选项,但不适用于通过 PHP 从 mySQL 数据库中提取的选项。所以:

<form id="material" class="floatleft" method="POST" action="detail.php?material=">
<select name="material" id="material" onchange="this.form.submit()">

适用于硬编码的“亚麻布”

echo '<option value="linen" ';
if ($material == "linen")
 echo 'selected="selected"';
echo '>Linen</option>';

但从 PHP 查询检索时不包含“linen”

$i = 0;
while ($row_material = mysqli_fetch_array($result_material))
 {
 echo '<option value="'.$material.'" ';
 if ($material == $row_material['material'])
   echo 'selected="selected"';
 echo '>'.$row_material['material'].'</option>';
 $i++;
 }

感谢您的帮助

最佳答案

将其更改为您的代码。我用过ternary运算符将使代码更具可读性

    $array = array(
        array('material' => 'linen'),
        array('material' => 'test'),
        array('material' => 'test2'),
        array('material' => 'test3'),
    );
    echo '<select>';

    $material = 'test2';
    foreach($array as $row_material)
    {
        $selected = ($material == $row_material['material']) ? 'selected=true' : ''; 
         echo '<option value="'. $row_material['material'] .'" ' .$selected .' >' .  $row_material['material'].'</option>';
         $i++;  
    }
    echo '</select>';

关于php - 自动 jquery 重新提交适用于表单中的硬编码值,但不适用于 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43801038/

相关文章:

php - 多次打开和关闭 php 标签会增加页面负载吗?

javascript - 将值插入到从数据库中选择的 html

mysql - 如何连接这两个mysql表?

javascript - 对一堆按钮使用单个悬停脚本,并在鼠标悬停时使用变量?

PHP 处理 MySQL DATETIME

mysql - DbVisualizer 创建触发器时出错

PHP Jquery Ajax 调用抛出 net::ERR_EMPTY_RESPONSE

php - 在 PHP 中显示 MySQL 数据库中的类别和子类别

php - 以有效的方式计算行排名

javascript - Bootstrap slider 不起作用