こんにちは、結果をループアウトしようとすると、同じ変数が何度もループアウトされるというクエリを作成しました。これは無限ループではなく、データのために、正しい回数ループしたかどうかを判断するのは非常に困難です。私がやろうとしているのは: start_cycle_uid (start_cycle テーブルから) が同じ customer_home id と渡された同じ start_date を持つ customers テーブルからすべての個別の customer_uid を選択することです。したがって、各顧客の 1 つを取得します。その開始日にその customer_home に属します。私が得るのは、同じcustomer_uidのリストです。私の論理は間違っていますか?
$homeQuery=$DB->prepare("select distinct customer_uid from customers
where start_cycle_uid =
(select uid from start_cycles
where customer_home_uid=".$DB->quote_smart($_REQUEST['homeid'])."
and start=".$DB->quote_smart($_REQUEST['start']).")");
$homeResult=$DB->query($homeQuery);
$homeRow=$DB->fetchArray($homeResult);
if ($DB->numRows($homeResult) > 0) {
for ($x=0; $x<=$DB->numRows($homeResult); $x++){
echo $homeRow['customer_uid']."<br />";
}
}
更新: 現在のコードは次のようになります。
$homeQuery=$DB->prepare("select distinct customer_uid from customers
where start_cycle_uid =
(select uid from start_cycles
where customer_home_uid=".$DB->quote_smart($_REQUEST['homeid'])."
and start=".$DB->quote_smart($_REQUEST['start']).")");
$homeResult=$DB->query($homeQuery);
while($row = $DB->fetchArray($homeResult))
{
echo $row['customer_uid']."<br />";
}
これは現在、無限ループに陥っています。