PHP ajouter une virgule dans une chaine de caractère

Eléphant du PHP | 89 Messages

17 mai 2010, 00:59

Bonjour

Je suis entrin de développez un module d'envoi de sms.
Et pour ajouter plusieurs numéro de portable de destinataire, je doit ajouter une virgules après la fin des numero.
un petit exemple:
Donc depuis la bdd, si je séléctionne plusieurs numéros, il faut que ca soit de telle sorte: +3361234678,+33612345678

J'ai commencé a faire un script mais je sèche, je n'y arrive pas.
$req1=mysql_query("SELECT id_user,numero,droit FROM tbl_user WHERE droit= TRUE ");
	 $nombre=mysql_num_rows($req1);
	 //echo $nombre;
	 while($row=mysql_fetch_object($req1)){
	 $i++;
	 if($nombre == 1){
	 echo $row->numero;
	 }
		else {
		
		 $num_modif=$row->numero  ;
              }

}
La je cherche a comparer le nombre de lignes de ma tbl_user qui sont à 1.
je compare: si c'est égal à 1,je laisse le numero tel qu'il est sans ajouter de virgule, si non
j'ajouter une virgule entre les chaines de caracteres!
Par ex si j'ai +3312345678,+33612346578
Si j'ai 3 chaines de caractères j'ajoute deux virgules
+33612345678,+33612345678,+3612345678
Est ce que vous pouvez me dire, deja si le début vous parait correct?

ViPHP
ViPHP | 5462 Messages

17 mai 2010, 01:24

il sert a rien ton $i++ :wink:

sinon tu peu utilisé explode
$req1 = mysql_query("SELECT id_user,numero,droit FROM tbl_user WHERE droit= TRUE ");
$liste = array();
while($row=mysql_fetch_object($req1))
{
    $liste[] = $row->numero;
}

echo explode(',', $row->numero);

Eléphant du PHP | 170 Messages

17 mai 2010, 05:57

Bonjour,
sinon tu peu utilisé explode
$req1 = mysql_query("SELECT id_user,numero,droit FROM tbl_user WHERE droit= TRUE ");
$liste = array();
while($row=mysql_fetch_object($req1))
{
    $liste[] = $row->numero;
}

echo explode(',', $row->numero);
stealth35, tu as probablement voulu proposer implode ... :wink:
... sur le tableau $liste :wink:

echo implode(',', $liste);

ViPHP
ViPHP | 5462 Messages

17 mai 2010, 10:01

Bonjour, tu as probablement voulu proposer implode ... :wink:
... sur le tableau $liste :wink:
ouais #-o , j'étais fatigué hier...

ferv
Invité n'ayant pas de compte PHPfrance

18 mai 2010, 20:01

Bonjour
Merci de m'avoir répondu, effectivement cette fonction marche très bien.
Mais j'ai un autre soucis, en fait je pensais que mettre une virgule à la fin des numéros était la meilleur idée pour séparer les numéros de téléphone mais ca génère des erreurs dans ma fonction.
J'utilise SOAP pour envoyer des sms.
Voici la méthode que j'utilise:
$soap->telephonySmsSend($session, "$sms_login[0]", "+33608340285", $chaine , "Alerte", "0", "1", "0", "3");
Si j'utilise $chaine=implode(';',$liste);
J'aurais dans ma fonction
$soap->telephonySmsSend($session, "$sms_login[0]", "+33608340285", +3361234678,+33612345678 , "Alerte", "0", "1", "0", "3");
Moi ce que je voudrais faire c'est séparer les champs par des guillemets et une virgule tel que:
$soap->telephonySmsSend($session, "$sms_login[0]", "+33608340285", "+3361234678" , "+33612345678", "Alerte", "0", "1", "0", "3");
Est ce que c'est possible en revanche d'ajouter, des guillemets dans la chaine de caractère tel que: "+3361234567",
Cordialement

ViPHP
AB
ViPHP | 5818 Messages

19 mai 2010, 01:38

$req1 = mysql_query("SELECT id_user,numero,droit FROM tbl_user WHERE droit= TRUE ");
$liste = array();
while($row=mysql_fetch_object($req1))
{
    $liste[] = '"'.$row->numero.'"';
}

echo implode(',',$liste);

ViPHP
ViPHP | 5462 Messages

19 mai 2010, 16:21

ferv > ca marchera pas si tu met ta variable dans ta fonction