我使用php和mysql运行follow查询,但是如果我只查询1个查询,它就工作了,但是如果我执行3个查询,它就不工作了
知道为什么吗?
似乎是while$))导致了问题,但尝试了很多方法,结果什么也没有显示
$boletas = mysqli_query($datacenter, "
SELECT * FROM ventas
WHERE documento = 'boleta'
ORDER BY id DESC LIMIT 1");
$facturas = mysqli_query($datacenter, "
SELECT * FROM ventas WHERE documento = 'factura'
ORDER BY id DESC LIMIT 1");
$notas = mysqli_query($datacenter, "
SELECT * FROM ventas
WHERE documento = 'nota'
ORDER BY id DESC LIMIT 1");
while($mostrar = mysqli_fetch_assoc($revisar)){
while($boleta = mysqli_fetch_assoc($boletas)) {
while($factura = mysqli_fetch_assoc($facturas)) {?>
<select class="selects" >
<option value="3" data-price="
<?php
echo str_pad($boleta['folio'] + 1, 15, "0", STR_PAD_LEFT);
?>">
boleta</option>
<option value="4" data-price="
<?php
echo str_pad($factura['folio'] + 1, 15, "0", STR_PAD_LEFT);
?>">factura</option>
<option value="5" data-price="
<?php
echo str_pad($nota['folio'] + 1, 15, "0", STR_PAD_LEFT);
?>">nota de venta</option>
</select>
<input type="text" class="inputs"
value="<?php
echo str_pad($boleta['folio'] + 1, 15, "0", STR_PAD_LEFT);
?>">
<?php
}
}
}
?>
它只是显示了一个空白页,使用所有3个查询,但如果我使用1个查询,我得到了正确的结果疯狂
1条答案
按热度按时间bwleehnv1#
问题是
mysql_fetch_assoc
使用上一次的结果mysqli_query
打电话。如果你想修复你的代码,你必须循环第一次的结果mysqli_query
使用mysql_fetch_assoc
,将其存储在一个数组中,循环遍历该数组,然后执行内部mysqli_query
,然后重复。但是,我不建议这样做,因为您可以通过一个查询实现所需的功能,而且它在数据库上的效率要高得多。
另外,在这里提问时,请缩进并格式化代码。我必须通过一个文本编辑器来格式化它,以便能够阅读它。