试图循环查询输出​​到表

时间:2016-05-23 11:09:28

标签: php mysql while-loop

我正在尝试使用表Natan_Procesos中的Producto_Prioridad = 1列中的值进行此查询循环。所以,我几乎需要下面的所有代码来循环。

<div align="center">
<div align="center" style="width:   -600; -moz-box-align: center; alignment-adjust: central; alignment-baseline: central; vertical-align: central; z-index: auto;"><p>&nbsp;</p>
<p> Opciones de <? echo $rows['giro2']; ?></p>
<?php

try {
      $sth = $db->prepare("SELECT Proveedor_Logo, Giro2_ID, Producto_Nombre, Producto_Descripcion, Producto_Precio, Producto_Imagen, Producto_Prioridad FROM Natan_Procesos WHERE Producto_Prioridad = 1");
      $sth->execute(array($ead,$eac));
      $row = $sth->fetch(PDO::FETCH_ASSOC);
       $Proveedor_Logo = $row['Proveedor_Logo'];
        $Giro2_ID = $row['Giro2_ID'];
        $Producto_Nombre = $row['Producto_Nombre'];
        $Producto_Descripcion = $row['Producto_Descripcion'];
        $Producto_Precio = $row['Producto_Precio'];
        $Producto_Imagen = $row['Producto_Imagen'];
        $Producto_Prioridad = $row['Producto_Prioridad'];
        } catch (PDOException $e) {
        echo 'Database operation failed: ' . $e->getMessage();
    }
?>        </div></div>   
<div align="center">
<div align="center" style="width:   -600; -moz-box-align: center; alignment-adjust: central; alignment-baseline: central; vertical-align: central; z-index: auto;"> 
<table width="800" border="0">
  <tr>
  <td><input name="platofuerte" type="radio" value="" /></td>
    <td width="250"><? echo "<img src='". htmlspecialchars($row['Proveedor_Logo'])."' alt='image' />" ?></td>
    <td><? echo $row['Proveedor_Nombre_Comercial']; ?>&nbsp;</td>
    <td><? echo "<img src='". htmlspecialchars($row['Producto_Imagen'])."' alt='image' />" ?>&nbsp;</td>
    <td width="100"><? echo $row['Producto_Nombre']; ?>&nbsp;</td>
    <td width="200"><? echo $row['Producto_Descripcion']; ?>&nbsp;</td>
    <td width="10">$<? echo $row['Producto_Precio']; ?>&nbsp;</td>
  </tr>
</table>
</div></div>

到目前为止,当同一个表中的Producto_Prioridad列中有3行值= 1时,它只输出1行。如何实现while循环以显示满足条件的行数?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

fetch仅从您的查询中获取单个结果。尝试将其包装在循环中以捕获所有数据,然后在输出期间迭代数据:

<div align="center">
    <div align="center" style="width: -600; -moz-box-align: center; alignment-adjust: central; alignment-baseline: central; vertical-align: central; z-index: auto;">
        <p>&nbsp;</p>
        <p> Opciones de <? echo $rows['giro2']; ?></p>
        <?php

        $rows = array();
        try {
            $sth = $db->prepare("SELECT Proveedor_Logo, Giro2_ID, Producto_Nombre, Producto_Descripcion, Producto_Precio, Producto_Imagen, Producto_Prioridad FROM Natan_Procesos WHERE Producto_Prioridad = 1");
            $sth->execute(array(
                $ead,
                $eac
            ));
            while ($row = $sth->fetch(PDO::FETCH_ASSOC) ) {
                $Proveedor_Logo = $row['Proveedor_Logo'];
                $Giro2_ID = $row['Giro2_ID'];
                $Producto_Nombre = $row['Producto_Nombre'];
                $Producto_Descripcion = $row['Producto_Descripcion'];
                $Producto_Precio = $row['Producto_Precio'];
                $Producto_Imagen = $row['Producto_Imagen'];
                $Producto_Prioridad = $row['Producto_Prioridad'];
                $rows[] = $row;
            }
        } catch (PDOException $e) {
            echo 'Database operation failed: ' . $e->getMessage();
        }
        ?>
    </div>
</div>
<div align="center">
    <div align="center"
         style="width: -600; -moz-box-align: center; alignment-adjust: central; alignment-baseline: central; vertical-align: central; z-index: auto;">
        <table width="800" border="0">
            <?php
            foreach ($rows as $row) {
                ?>
                <tr>
                    <td>
                        <input name="platofuerte" type="radio" value="" />
                    </td>
                    <td width="250">
                        <img src='<?php echo htmlspecialchars($row['Proveedor_Logo']); ?>' alt='image' />
                    </td>
                    <td>
                        <? echo $row['Proveedor_Nombre_Comercial']; ?>&nbsp;
                    </td>
                    <td>
                        <img src='<?php echo htmlspecialchars($row['Producto_Imagen']); ?>' alt='image' />&nbsp;
                    </td>
                    <td width="100">
                        <? echo $row['Producto_Nombre']; ?>&nbsp;
                    </td>
                    <td width="200">
                        <? echo $row['Producto_Descripcion']; ?>&nbsp;
                    </td>
                    <td width="10">
                        $<? echo $row['Producto_Precio']; ?>&nbsp;
                    </td>
                </tr>
                <?php
            }
            ?>
        </table>
    </div>
</div>