【问题标题】:how to use <select> in while loop with php如何在 php 的 while 循环中使用 <select>
【发布时间】:2013-11-07 08:34:46
【问题描述】:

我有一个查询的结果集(4 列)。

$res = $query->fetch(PDO::FETCH_ASSOC)

我在 while 循环中使用了这个结果集以在 html 表中显示它。 现在,我想在&lt;select&gt; 中添加结果集的所有第二列值,而不使用上述结果集。 (因为我在while循环中使用了它/不想再次获取)

所以,我做到了。

<select>
     <option value=""> --Select-- </option>
     <?php
     while ($id = $query->fetchColumn(1)) 
     {

              echo "<option value='".$id."'>'".$id."'</option>";
      }
      ?>
      </select>

但它不起作用。怎么样?

【问题讨论】:

  • 在 while 循环中,试试这个:print_r($id);。那你会得到什么?

标签: php mysql pdo while-loop html-select


【解决方案1】:

听起来您已经循环了一次结果,但随后又尝试循环。如果您不重置光标,那么将不会获取任何内容 - 您已经在结果的末尾。

Resetting array pointer in PDO results

【讨论】:

    【解决方案2】:

    不要在 php 的 while 循环中使用 &lt;select&gt;

    但在foreach 中使用它。首先获取您的数据,

    $data = $query->fetchAll();
    

    然后用这个数据输出

    <select>
        <option value=""> --Select-- </option>
        <?php foreach($data as $row): ?>
        <option><?=$row['id']?></option>
        <?php endforeach ?>
    </select>
    

    【讨论】:

    • 为什么不使用 while?
    猜你喜欢
    • 2016-08-31
    • 2011-05-31
    • 2011-04-07
    • 2017-05-02
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    相关资源
    最近更新 更多