来自1个单列的Echo选项

时间:2017-06-06 15:52:40

标签: php mysql while-loop

大家好我有这张桌子:

ID| NUM_Slides |P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12
3 | 2          |1  | 1  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 0   | 0   | 0

我想仅从P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11和P12中选择值,并将它们插入<option>标签

到目前为止,我得到了这个但是没有工作

<?php
$query = "SELECT P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 FROM slider_settings_img where slider_settings_img.ID = $ID";
$result1 =$connect->query($query);
$resultado = $result1->fetch_all();
?>

<select name ="selectedValue" id="selected" >
<?php while($row1 = mysqli_fetch_array($result1)):;?>
<option value=""<?php echo $row1[1];?>"><?php echo $row1[1];?>"</option>
<?php endwhile;?>
</select>

因为我的查询只返回1个数组我希望选项显示为1,1,0,0,0,0,0,0,0,0,0

可以帮助我一些人

2 个答案:

答案 0 :(得分:2)

有几个问题。

  1. $resultado = $result1->fetch_all();如果您已经将所有行全部提取,则无法在while循环中获取更多行。

  2. while($row1 = mysqli_fetch_array($result1)):;您的查询选择一行。你根本不需要使用while循环。

  3. while循环设置为从查询结果中迭代地获取行,但是您需要获取一行并迭代其列。

  4. 一些重要的错别字。

  5. <?php
    $query = "SELECT P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12
              FROM slider_settings_img where slider_settings_img.ID = $ID";
    $result1 = $connect->query($query);
    $row = mysqli_fetch_assoc($result1);    // fetch one row
    ?>
    <select name ="selectedValue" id="selected" >
    <!-- iterate over each column of the row -->
    <?php foreach ($row as $col): ?>
        <option value="<?php echo $col ?>"><?php echo $col ?></option>
    <?php endforeach ?>
    </select>
    

答案 1 :(得分:0)

这个怎么样?

<select name ="selectedValue" id="selected" >
<?php while($row1 = mysqli_fetch_array($result1)) 
{
    for($i=2; $i<13; $i++) {
        echo '<option value="'.$row1[$i]'">'.$row1[1].'</option>';
    }
} 
?>
</select>