2011-01-13 7 views
-4

쉼표로 구분 된 목록을 작성하려고합니다 (녹색, 주황색, 빨간색).PHP에서 쉼표로 구분 된 목록

$i=0; 
$taxonomy = $form_state[values][taxonomy][5]; 
foreach ($taxonomy as $key => $value){ 
    $result = db_query("SQL CODE goes here"); 
    if (mysql_num_rows($result)){  
    while ($i<mysql_num_rows($result)){ 
    $resultset = db_fetch_array($result); 
    $comma_separated = implode(",", $resultset); 
    $i++;  
    } 
    form_set_error("Date", t("$comma_separated. cannot be booked more than once ")); 
} 
+3

질문은 ... – Ivan

+2

나중에 코드를 올바르게 포맷하고 질문이 실제로 의미가 있는지 확인하십시오. 질문을하는 데 시간을 허비하지 않으면 왜 사람들은 대답을 귀찮게 할 것이라고 기대합니까? –

+0

코드가 foreach 루프에서 닫혀 있습니다. – Cfreak

답변

4
$resultset=array(); 
while ($data = db_fetch_array($result)) { 
    $resultset[] = $data; 
} 
$comma_separated = implode(",", $resultset); 
0

이 시도 :

$i=0; 
$taxonomy = $form_state[values][taxonomy][5]; 
$result=''; 
foreach ($taxonomy as $key => $value) 
{ 
    $result = db_query("SQL CODE goes here"); 
    if (mysql_num_rows($result)){ 
     while ($row = mysql_fetch_row()){ 
      result.=$row[0].','; 
     } 
    } 
} 
result=substr($result,0,-1); 
echo $result; 
+0

은 mysql_fetch_row() 대신 db_fetch_array()를 사용하는 것이 좋습니다. 하나는 다른 하나의 래퍼 일 뿐이지 만 드루팔 (Drupal)의 데이터베이스 추상화 부분. – Spudley

+0

Spudley의 솔루션으로 이동하십시오. 훨씬 더 간단하고 더 적은 오버 헤드 –

+0

Spudley는 솔루션을 조금만 수정 해 주셔서 감사합니다. $ resultset [] = $ data [ "name"]; – gables20

2

누군가가 그것을 게시하고 난 upvote에하려고했지만, 그들은 그것을 제거. 나는이 쿼리의 목적이 쉼표로 분리 된 목록을 얻는 것처럼 보이기 때문에 mysql GROUP_CONCAT이 좋은 해결책이라고 생각한다.

관련 문제