2011-01-13 16 views
-4

Ich versuche, eine Liste getrennt durch Kommas zu bauen, die so aussehen sollte (grün, orange, rot).Komma getrennte Liste in 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

und die Frage ist ... – Ivan

+2

Bitte nehmen Sie sich in Zukunft die Zeit, Ihren Code korrekt zu formatieren und überprüfen Sie, ob Ihre Frage tatsächlich Sinn ergibt. Wenn Sie keine Zeit damit verbringen können, eine Frage zu stellen, warum sollten Sie erwarten, dass die Leute darauf antworten? –

+0

Code fehlt eine Schließung} auf der foreach-Schleife – Cfreak

Antwort

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

Versuchen Sie folgendes:

$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

vorschlagen Stick mit 'db_fetch_array()' anstatt "mysql_fetch_row()' - das ist nur ein Wrapper für die andere, aber es ist Teil von Drupals Datenbankabstraktion, also ist es am besten, dabei zu bleiben. – Spudley

+0

Gehen Sie mit der Lösung von Spudley, viel sauberer, einfacher und weniger Overhead –

+0

Vielen Dank Spudley, arbeitete Ihre Lösung mit ein wenig Modifikation. $ resultset [] = $ data ["name"]; – gables20

2

Jemand es geschrieben, und ich war upvote würde, aber sie entfernt sie. Ich denke, mysql GROUP_CONCAT wäre eine gute Lösung, da es so aussieht, als ob eine kommagetrennte Liste der einzige Zweck dieser Abfrage ist.

Verwandte Themen