2011-07-12 56 views
-2

以dB如果ISSET不工作?

row1 (type column=apple), (stage column=1) 
row2 (type column=orange), (stage column=NULL) 

在PHP

$query = mysql_query("SELECT * from fruits"); 

$row = mysql_fetch_array($query); 

    $num = mysql_num_rows($query); 
    $i=0; 
    $storeMyData = array(); 
    while($row = mysql_fetch_array($query)) 
    { 
     if(isset($row['type'])){ 
      $type = "-" . $row['type']; 
     } else { 
      $type = NULL; 
     } 

     if(isset($row['stage'])){ 
      $stage = "STAGE " . $row['stage']; 
     } else { 
      $stage = NULL; 
     } 
     $fruit = implode (", ", array_filter(array($type, $stage))); 

    // This will show 2 rows of data 
    $storeMyData[] = $fruit; 

    // store current data in array 
    $i++; 
    } 

    /* this will echo your storedData of loop */ 
    foreach($storeMyData as $prevData) 

    /* or join the data using string concatenation */ 
    $allFinalData2 = ""; 

    /* this will echo your storedData of loop */ 
    foreach($storeMyData as $prevData) 
    { 
     $allFinalData2 = $allFinalData2.$prevData ; // keep on concatenating 
    } 

    echo $allFinalData2; 

最終輸出顯示爲 「蘋果,第1階段」, 「橙色舞臺」。

如果在DB中 row2(orange)的階段爲NULL,我該如何顯示它沒有單詞階段的「Apple,Stage 1」「Orange」。

回答

0

改變這一行

while($i < $num) 

這個

while($row = mysql_fetch_array($query)) 

也是,沒有必要打電話給你的mysql_query內循環,以此來防止混淆。

$type = "-" . $row['type']; 
$stage = "STAGE " . $row['stage']; 
+0

我已經將我的$行設置爲mysql_fetch_array($ query);已經,但仍然不工作:( –

+0

傳遞給mysql_fetch_array的變量必須與代碼的其餘部分匹配,在頂部有mysql_num_rows($ query),因此您應該將$ query變量傳遞給mysql_fetch_array。 發佈更新代碼清單所以我們可以仔細檢查 – JConstantine

+0

查詢的第二行只顯示沒有階段,這是好的。但是我需要顯示兩行 –