2011-10-03 18 views
0

我知道我可以通過獲取總記錄數來做我需要做的事情,如果我在最後一條記錄中,不要顯示逗號,但必須有更好的方法。如何判斷我是否在使用WHILE時的最後結果,以便從輸出中省略逗號?

我試圖用MySQL的值以編程方式編譯SQL語句。

的代碼:

$fql="SELECT "; 

$result = mysql_query("SELECT field FROM fb_aa_fields WHERE fql_table = '$query'", $conn); 

while ($row = mysql_fetch_array($result)){ 
    $get_field = "".$row{'field'}.""; 


$fql = $fql."$get_field, "; 

} 

$fql = $fql."FROM ".$query." WHERE owner=".$get_uid.""; 

它輸出這樣的:

SELECT助劑,can_upload,cover_object_id,cover_pid,創建,描述,EDIT_LINK,鏈接,位置,修改,modified_major,名稱,的object_id,所有者,photo_count,size,type,video_count,visible,FROM album WHERE owner = 522862206

問題是「visible」和「FROM」之間的最後一個逗號。你會如何建議讓逗號消失的最佳方式?

回答

0

檢測您是否處於第一個元素而不是最後一個元素是一種痛苦。你可以這樣做:

$i = 0; 
while($row =...) { 
    if ($i++) $fql .= ','; 
    $fql .= $row['field']; 
} 

或者,可能更好的是,推遲直到字符串結束字段。有一個名爲implode的內置函數,您可以使用它在它們之間插入逗號。

$fields = array(); 
while($row =...) { 
    $fields[] = $row['field']; 
} 
$fql .= implode(',', $fields); 
相關問題