我有一个查询,我需要为尽可能多的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> </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> </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> </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> </p>
<p> </p>
</form>
所以我可以显示Proveedor_ID = 1的结果,但现在我需要让它检查包含相同Giro2_ID的其他每个独特的Proveedor_ID值。我正在寻找代码将所有这些代码包装到PDO中的while循环中。
我需要while可以无限制地使用Proveedor_ID唯一值的所有可能实例。
提前感谢您的帮助。
答案 0 :(得分:1)
您需要在SQL语句中使用DISTINCT
和GROUP
。我无法在您的SQL语句中找到ProveedorID,所以我只提供一个示例
select * from Natan_Procesos group by ProveedorID
SELECT DISTINCT ON ProveedorID * FROM Natan_Procesos WHERE Producto_Prioridad = 1;