2011-10-31 135 views
0

這裏我試圖把一組數據庫值作爲逗號分隔並存儲在一個javascript變量中。我試過了。但我不能讓它們逗號分開,因爲輸出結合在一起。請糾正我在哪裏犯錯。如何以逗號分隔的方式存儲數據庫值?

注意:如果assignedto的值爲空。帶有標誌1的員工姓名將從數據庫中獲取。但是在下面的腳本中,它們彙總在一起,我要求它們用逗號分隔。

if(assignedto == "") 
    { 
    '<?php 
     $val = mysql_query("select * from staff where flag='1'"); 
     $arr=''; 
     while ($row = mysql_fetch_array($val)) 
     { 
     $arr = array($row['name']); 
     $assign .= implode(',',$arr); 

    ?>' 
    assignedto = '<?php echo $assign; }?>'; 
    } 
+0

請發佈您期望的輸出示例。您正在選擇多列(可能),但只能訪問循環中的「名稱」列。 –

+1

您的代碼存在錯誤,因此您的JavaScript不應運行。你不應該像這樣引用'。 – Hossein

+0

現在assignto的值來了johnjacobsara像我想它約翰,雅各布,薩拉 –

回答

2

我不確定,但你的代碼似乎是錯誤的,你有沒有試過這個?

if(assignedto == ""){ 
    <?php 
    $val = mysql_query("select * from staff where flag='1'"); 
    $arr=array(); 
    while ($row = mysql_fetch_array($val)){ 
     $arr[] = $row['name']; 
    } 
    $assign = implode(',',$arr); 
    ?> 
    assignedto = '<?php echo str_replace('\'','\\\'',$assign); ?>'; 
} 
+0

將數據從PHP傳遞到JavaScript時,應該總是使用'json_encode':'assignedto = <?php echo json_encode($ assign); ?>;' – ThiefMaster

+0

@Marian它引發內部服務器錯誤! –

+0

是的,你是對的,但用戶不想創建一個結構,他只是想用逗號分隔字符串,但當然,爲了確保生成的代碼是js有效的,我已經添加了str_replace for appostrophes –