2016-06-28 5 views
0
나는 문자 메시지 (00,001,002)해야하지만 내 현재 SQL로는이 (00,001,002,)

PHP에서 루프에서 마지막 쉼표를 제거

결과 생산 보낼 수있는 API에 대한 의해 복수의 SMS 및 올바른 형식을 보내려고

난 내 스크립트를 수정할 수있는 방법이 당신의 루프에서 그것을 밖으로 반향하는 대신 (00,001,002)

$query_rs_p = "SELECT * FROM contacts ORDER BY id DESC"; 
$rs_p = mysql_query($query_rs_p, $insurance) or die(mysql_error()); 
$row_rs_p = mysql_fetch_assoc($rs_p); 
$totalRows_rs_p = mysql_num_rows($rs_p); 
$ph=','; 
do { 
echo $row_rs_p['phone_number'].$ph; 
} while ($row_rs_p = mysql_fetch_assoc($rs_p)); 
+1

http://php.net/manual /en/function.rtrim.php – CD001

+1

http://stackoverflow.com/questions/3120398/php-how-to-remove-any-last-commas –

+0

'while (...) {$ arr [] = $ row ['번호']; } echo implode (','$ arr)'대안으로. –

답변

2

결과 얻을 문자열에 모두 넣어. 그런 다음 출력하기 전에 마지막 쉼표를 잘라내십시오.

$query_rs_p = "SELECT * FROM contacts ORDER BY id DESC"; 
$rs_p = mysql_query($query_rs_p, $insurance) or die(mysql_error()); 
$row_rs_p = mysql_fetch_assoc($rs_p); 
$totalRows_rs_p = mysql_num_rows($rs_p); 
$ph=','; 
$string = ''; 
do { 
$string .= $row_rs_p['phone_number'].$ph; 
} while ($row_rs_p = mysql_fetch_assoc($rs_p)); 
$string = rtrim($string, ','); 
echo $string; 

또는 더 나은 방법은 쿼리에이 문자열을 작성하는 것입니다. 훨씬 간단하고 청소기 :

$query_rs_p = "SELECT group_concat(phone_number) as phine_numbers FROM contacts ORDER BY id DESC"; 
$rs_p = mysql_query($query_rs_p, $insurance) or die(mysql_error()); 
$row_rs_p = mysql_fetch_assoc($rs_p); 
echo $row['phone_numbers']; 
+0

당신은 작품에 답하지만 트린의 철자를 확인하고 트림으로 바꾸기 – neiza

+0

@neiza 편집 할 수도 있습니다 :) – k0pernikus

0

을 아마 가장 직접적인 그냥 같은 것을 할 것 :

$output = ''; 
do { 
    if ($output != '') 
     $output .= ','; 
    $output .= $row_rs_p['phone_number']; 
while ($row_rs_p = mysql_fetch_assoc($rs_p); 

echo $output; 
1

사용 rtrim 기능을

$rowsphone = $row_rs_p['phone_number'].$ph; 
rtrim($rowsphone,','); 
관련 문제