2014-04-08 74 views
0

我用php做了一個SQL請求,一切正常,但是當我在while循環內部做一個SQL請求時,我只得到了第一個' kenmerk」。用while循環的SQL請求,然後在while循環中再次發出SQL請求

// 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」在數據庫中的結果:「標準報」和「natugro」 第二查詢具有52周的結果在數據庫中爲例如每個「kenmerk」。 'kenmerk''standaard''gezette_vruchten'有52周,'gezette_vruchten'和'kenmerk''natugro'也有52周。所以我希望兩個'kenmerk'一週的結果都在現在。

我希望你能明白這

+0

你應該嘗試減少使用JOIN – gbestard

回答

3

變化的第二個名稱,而環..

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循環same..so我認爲這是comflict。所以改變一個while循環的變量名稱。

+0

使用更復雜的查詢訪問數據庫的數量嘿,我試了這個,但沒有效果....仍然得到1結果 – Julez

+0

也改變了'$ result'的名字。 – DS9

+0

更改$ result的名稱aswell – gbestard