在内心的同时,给出问题

时间:2011-05-05 13:44:55

标签: php

大家早上好。

我有疑问。

我有两个表,在数据请求后面。 以及该应用程序的另一个产品

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>';
     }
 }

我非常感谢你的帮助..

4 个答案:

答案 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对象,这就是导致问题的原因。