使用变量循环包含

时间:2016-06-29 07:15:50

标签: php mysql pdo while-loop do-while

我有一个查询,我需要为尽可能多的Proveedir_ID唯一值实例循环。

我的查询是:

 <?php
require('Connection.php');


  $consulta="SELECT Proveedor_Logo, Giro2_ID, Producto_Nombre,     Producto_Descripcion, Producto_Precio, Producto_Imagen, Producto_Prioridad FROM     Natan_Procesos WHERE Proveedor_ID = 1";

?>
<!-- EMPIEZA EL CODIGO BUENO -->
<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 AND Categoria_ID=2");
            $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><img src='<?php echo htmlspecialchars($row['Producto_Imagen']); ?>' alt='image' />
                </td>
                <td width=""><input name="" type="label" value='<?php echo $row['Producto_Nombre']; ?>' />
                </td>
                <td width=""><input name="" type="label" value='<?php echo $row['Producto_Descripcion']; ?>' />
                </td>
                <td width=""><input name="" type="label" value='$<?php echo $row['Producto_Precio']; ?>' />
                </td>
                </tr>
                <?php
            } ?>
        </table>
    </div></div>   

<!--BUSQUEDA DE PLATO FUERTE -->

<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 = 2");
            $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><img src='<?php echo htmlspecialchars($row['Producto_Imagen']); ?>' alt='image' />
                </td>
                   <td width=""><input name="" type="label" value='<?php echo $row['Producto_Nombre']; ?>' />
                </td>
                   <td width=""><input name="" type="label" value='<?php echo $row['Producto_Descripcion']; ?>' />
                </td>
                   <td width=""><input name="" type="label" value='$<?php echo $row['Producto_Precio']; ?>' />
                </td></tr>
                <?php
            }
            ?>
        </table>
    </div></div>

<!-- BUSQUEDA  POSTRE -->

<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 = 3");
            $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><img src='<?php echo htmlspecialchars($row['Producto_Imagen']); ?>' alt='image' />
                </td>
                <td width=""><input name="" type="label" value='<?php echo $row['Producto_Nombre']; ?>' />
                </td>
                <td width=""><input name="" type="label" value='<?php echo $row['Producto_Descripcion']; ?>' />
                </td>
                <td width=""><input name="" type="label" value='$<?php echo $row['Producto_Precio']; ?>' />
                </td>
                </tr>
                <?php
            }
            ?>
        </table>
    </div>
</div>   
<!-- TERMINA EL CÓDIGO CHIDO -->


   -------------------------------------------------------<br><br>   
      <input type="submit" name="Reservar" id="Reservar" value="Reservar" />
    </p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
</form>

所以我可以显示Proveedor_ID = 1的结果,但现在我需要让它检查包含相同Giro2_ID的其他每个独特的Proveedor_ID值。我正在寻找代码将所有这些代码包装到PDO中的while循环中。

我需要while可以无限制地使用Proveedor_ID唯一值的所有可能实例。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要在SQL语句中使用DISTINCTGROUP。我无法在您的SQL语句中找到ProveedorID,所以我只提供一个示例

select * from Natan_Procesos group by ProveedorID

SELECT DISTINCT ON ProveedorID * FROM Natan_Procesos WHERE Producto_Prioridad = 1;