我用php做了一个SQL请求,一切正常,但是当我在while循环中执行SQL请求时,我只得到第一个'kenmerk'的1个结果。
// Per kenmerk
$query = "SELECT kenmerk FROM kenmerken WHERE user_id = ".$user."";
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_assoc($result))
{
$query = "SELECT gezette_vruchten, uitgroeiduur FROM gewasregistratie WHERE user_id = ".$user." AND kenmerk = '".$row["kenmerk"]."'";
$result = mysqli_query($conn, $query);
$week = 1;
while($row = mysqli_fetch_assoc($result)) // Eerst van week 1 tot 52 de gezette_vruchten een lege waarde meegeven om zo te voorkomen dat ze niet gedefieneerd zijn.
{
echo ${'gezette_vruchten_week_'.$week} = $row["gezette_vruchten"];
echo ${'uitgroeiduur_week_'.$week} = $row["uitgroeiduur"];
$week++;
}
}
第一个查询在数据库中有2个'kenmerk'结果:'standaard'和'natugro' 例如,第二个查询在每个'kenmerk'的数据库中有52个结果。 “gezette_vruchten”和“kenmerk”'标准'有52周,'gezette_vruchten'和'kenmerk''natugro'也有52周。所以我想要'kenmerk'这一周的结果现在都在。
我希望你能理解这个
答案 0 :(得分:3)
更改while循环的名称..
while($row2 = mysqli_fetch_assoc($result)) // Eerst van week 1 tot 52 de gezette_vruchten een lege waarde meegeven om zo te voorkomen dat ze niet gedefieneerd zijn.
{
echo ${'gezette_vruchten_week_'.$week} = $row2["gezette_vruchten"];
echo ${'uitgroeiduur_week_'.$week} = $row2["uitgroeiduur"];
$week++;
}
因为你的两个while循环的变量名是相同的...所以我认为它是comflict。所以改变while循环的变量名之一。