大家早上好。
我有疑问。
我有两个表,在数据请求后面。 以及该应用程序的另一个产品
EX:
Request: 1
>> Plan 1 Value: 10.00
>> Plan 2 Value: 20.00
Request: 2
>> enter service Value: 10.00
更多的是没有获得列表,因此在另一个内部放置到其他人。
请求不再出现。
My code.
$query = $this->_CONEXAO->prepare("SELECT * FROM disk_request WHERE request_id = :id ");
$query->bindParam(":id", $id, PDO::PARAM_STR, 20);
$query->execute();
while ($row2 = $query->fetch()){
echo '<div id="request">'.$row2["request_cod"].'';
$request = $row2["request"];
$query = $this->_CONEXAO->prepare("SELECT * FROM disk_product WHERE cod_request = :cod");
$query->bindParam(":cod", $request, PDO::PARAM_STR, 20);
$query->execute();
while ($row_product = $query->fetch()){
// here is list the products of the order is just above an application for various products can be a 2,3,4 or products on the list ...
echo '<div> >> </div><div>'.$row_product["product"].'</div>';
}
}
我非常感谢你的帮助..
答案 0 :(得分:3)
你的第二个$query
正在替换第一个while
,这会弄乱第一个$query
。
将第二个$query2
重命名为{{1}},它应该有效。
答案 1 :(得分:1)
你为什么不做像
这样的事情SELECT * FROM disk_request,disk_product WHERE
disk_product.cod_request=disk_request.request and request_id = :id
查询中的查询不是很好,并且不使用sql优化..
如果您只想选择一些信息,可以这样做:
SELECT disk_request.request_cod as request_cod, disk_product.products as product
FROM disk_request,disk_product
WHERE disk_product.cod_request=disk_request.request and request_id = :id
GROUP BY disk_request.request_cod
然后你只做一个循环,你检查disk_request从前一个变化后,你把<div id="request">
答案 2 :(得分:0)
你正在踩踏外循环$query
。为内循环使用不同的变量。
答案 3 :(得分:0)
您重用$ query对象,这就是导致问题的原因。