2016-06-28 4 views
0

Я пытаюсь отправить смс Mulitple и правильный формат для API для отправки текстовых сообщений должны быть (00,001,002), но с моей текущей SQL производит это приводит (00,001,002,)избавиться от последней запятой в цикле в PHP

Как я могу исправить мой сценарий, чтобы получить это приводит (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,','); 
Смежные вопросы