2012-03-29 2 views
0

Ich möchte Ganzzahlen implodieren und sie als eine Komma getrennte Zeichenfolge echo. Ich bin seit fast drei Stunden dabei und kann es nicht zur Arbeit bringen.
Der Ausgang Ich bin derzeit immer ist:Implode Ganzzahlen in mysql Select-Anweisung (Ergebnis wiederholt sich)

104104,105104,105,106

statt:

104.105.106

ich die PHP-Foren überprüft und es sagt zu mysql_fetch_assoc verwenden, um dies zu vermeiden, aber es funktioniert nicht. Wenn jemand Ideen hat, bitte helfen Sie. Mein PHP sieht wie folgt aus:

<?PHP 

$user_name = "root"; 
$password = ""; 
$database = "testdb"; 
$server = "127.0.0.1"; 

$db_handle = mysql_connect($server, $user_name, $password); 
$db_found = mysql_select_db($database, $db_handle); 

if ($db_found) 
{ 
$SQL = "SELECT TableA.c1 FROM TableA "; 
$result = mysql_query($SQL); 
    while ($db_field = mysql_fetch_assoc($result)) 
    { 
    $itinarry[]= $db_field['c1']; 
    $string = implode(',',$itinarry); 
    echo $string; 
    } 
mysql_close($db_handle); 

} 
else 
{ 
    echo "Database NOT Found "; 
    mysql_close($db_handle);   
} 

?> 
+0

versuchen, diese 'while ($ db_field = mysql_fetch_assos ($ result)) {$ itinarry [] = array_values ​​($ db_field); } $ string = implode (',', $ itinarry); '. Platziere außerhalb deiner Schleife implodieren. –

Antwort

1

Was er tut ist

echo implode(",", array(104))

echo implode(",", array(104, 105))

echo implode(",", array(104, 105, 106))

was zur Folge hat:

104104,105104,105,106

Setzen

$string = implode(',',$itinarry); 
echo $string; 

die while Schleifenseite herausgeführt;

+0

.Diese Erklärung war was ich brauchte.Ich nahm es aus der Schleife und es funktionierte perfekt.Vielen Dank. –

0

Ändern Sie den Code dazu:

while ($db_field = mysql_fetch_assoc($result)) 
{ 
$itinarry[]= $db_field['c1']; 
} 
$string = implode(',',$itinarry); 
echo $string; 
+0

Vielen Dank, dieser Code funktionierte perfekt genau das, was ich suchte.i nahm die Aussage: $ String = implode (',', $ itinarry); außerhalb der Schleife. –