Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
重复下拉框-20共-Mysql-PHP_Php_Mysql - Fatal编程技术网

重复下拉框-20共-Mysql-PHP

重复下拉框-20共-Mysql-PHP,php,mysql,Php,Mysql,我有20个下拉框,用于查询单个表和相同字段,我编写了下面的查询,效果非常好。我确信有某种方法可以优化这个重复的下拉框,但我不知道 我应该从每个 第1部分 选择距离 第二部分 选择距离 分裂 选择距离 每个组都有一个不同的表?听起来像是重复执行同一个查询。我将运行一次查询并存储结果,以便对每个选择重复使用。@chris85没有相同的表每个下拉列表是否包含相同的值?@BenM。是的,它是相同的表、相同的字段和相同的值。我只需将MYSQL\u两者更改为MYSQLI\u ASSOC。 <d

我有20个下拉框,用于查询单个表和相同字段,我编写了下面的查询,效果非常好。我确信有某种方法可以优化这个重复的下拉框,但我不知道

我应该从每个


第1部分
选择距离
第二部分
选择距离


分裂
选择距离

每个组都有一个不同的表?听起来像是重复执行同一个查询。我将运行一次查询并存储结果,以便对每个选择重复使用。@chris85没有相同的表每个下拉列表是否包含相同的值?@BenM。是的,它是相同的表、相同的字段和相同的值。我只需将
MYSQL\u两者
更改为
MYSQLI\u ASSOC
<div class="form-group">
                <label>Split 1</label>
                 <select class="form-control required" name='distance[]' id='distance' >
                    <option value="-1">Select Distance</option>
                    <?php
                                                   $plan_sql="select * from mytable";
                                                   $plan_res=mysqli_query($con,$plan_sql);
                                                   while($row=mysqli_fetch_array($plan_res,MYSQL_BOTH))
                                                   {
                                                       ?>
                    <option value="<?php echo $row['id'];?>"><?php echo $row['name'];?></option>
                    <?php
                                                   }
                                                ?>
                  </select>
                </div>
              <div class="form-group">
                <label>Split 2</label>
                 <select class="form-control required" name='distance[]' id='distance' >
                    <option value="-1">Select Distance</option>
                    <?php
                                                   $plan_sql="select * from mytablename";
                                                   $plan_res=mysqli_query($con,$plan_sql);
                                                   while($row=mysqli_fetch_array($plan_res,MYSQL_BOTH))
                                                   {
                                                       ?>
                    <option value="<?php echo $row['id'];?>"><?php echo $row['name'];?></option>
                    <?php
                                                   }
                                                ?>
                  </select>
                </div>
<?php

// Run your query once and store the results

$plan_sql = "select id, name from mytable";
$plan_res = mysqli_query($con, $plan_sql);
while ($row = mysqli_fetch_array($plan_res, MYSQLI_ASSOC)) {
    $result[] = $row;
};

// then you can add your selects without running the query repeatedly

for ($i=1; $i <= 20; $i++):?>
<div class="form-group">
    <label>Split <?php echo $i; ?></label>
    <select class="form-control required" name='distance[]' id='distance' >
        <option value="-1">Select Distance</option>
        <?php foreach ($result as $row): ?>
            <option value="<?php echo $row['id'];?>"><?php echo $row['name'];?></option>
        <?php endforeach ?>
    </select>
</div>
<?php endfor; ?>