recuperation de données et transformation

Eléphanteau du PHP | 19 Messages

24 juin 2013, 18:49

Bonjour à tous

J'ai besoin de récupérer des données dans une table notamment des numéros de TL mobile
j'arrive à faire passer mes numéros en +33

Mais impossible de les récupérer pour l'envoi d'un sms formater et séparer par une virgule
il n'envoie qu'au dernier numéro
Une petite idée pour mon erreur ????
<?php require_once('../Connections/aqua.php');
require('libraries/lib-mobytsms.inc.php'); 

mysql_select_db($database_aqua, $aqua);

$sql = "SELECT numeri FROM inscription";
$reponse = mysql_query($sql);
while ($valeur = mysql_fetch_array($reponse)){ 

$valeur['numeri'] = '+33'.substr($valeur['numeri'],1);
$numeri = $valeur['numeri'];
}

 




// Exemple de envoi multiple de SMS




$sms = new mobytSms('user', 'mdp');
$sms->setIgnoreError(0);

$result = $sms->sendMultiSms($numeri, 'message', 'TEXT', '','1');


if (substr($result, 0, 2) == 'OK')
	echo 'Les messages ont été envoyé correctement<br>'.$result;
else
	echo "Les messages n'ont pas été envoyé correctement<br><br>".$result;
	

echo $numeri


?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 juin 2013, 23:05

salut,


tu écrase les données à chaque tour du while il te faut initialiser la variable avant le while et utiliser la concaténation ;)
<?php
$numeri = '';
while ($valeur = mysql_fetch_array($reponse)){ 
$valeur['numeri'] = '+33'.substr($valeur['numeri'],1);
    $numeri .= $valeur['numeri'];
}
?>

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 19 Messages

25 juin 2013, 08:50

Merci

par contre le ne comprend pas la valeur de '$numeri' en echo est bonne c'est a dire que j'obtiens bien +33666666666,+33666666666,+3366666666,
mais il me dit que ce n'est pas bon

Les messages n'ont pas été envoyé correctement

KO Paramètre rcpt non valable

et RCPT c'est la valeur $numeri

voici le code d'origine
<?php
// Exemple de envoi multiple de SMS

require('libraries/lib-mobytsms.inc.php');

$numeri	= array(
		'+33610123456',
		'+33610654321'
	);

$sms = new mobytSms('username', 'motdepasse');

//$sms->setAuthMd5();
$sms->setFrom('Expediteur');
$sms->setDomaine('http://multilevel.mobyt.fr');
$sms->setQualityTop();

//$sms->setIgnoreError(true);

$result = $sms->sendMultiSms($numeri, 'message', 'TEXT', '','1');


if (substr($result, 0, 2) == 'OK')
	echo 'Les messages ont �t� envoy� correctement<br>'.$result;
else
	echo "Les messages n'ont pas �t� envoy� correctement<br><br>".$result;
	


?>
et celui avec mes modifications
<?php require_once('../Connections/aqua.php');
require('libraries/lib-mobytsms.inc.php');

mysql_select_db($database_aqua, $aqua);

$sql = "SELECT numeri FROM inscription";
$reponse = mysql_query($sql);
$numeri = '';
while ($valeur = mysql_fetch_array($reponse)){
$valeur['numeri'] = '+33'.substr($valeur['numeri'],1);
    $numeri .= $valeur['numeri'];
$numeri = "$numeri,";
	
}		
	

$sms = new mobytSms('user', 'mdp');

$result = $sms->sendMultiSms($numeri, 'message', 'TEXT', '','1');

if (substr($result, 0, 2) == 'OK')
	echo 'Les messages ont été envoyé correctement<br>'.$result;
else
	echo "Les messages n'ont pas été envoyé correctement<br><br>".$result;

echo $numeri;

?>

ViPHP
ViPHP | 2577 Messages

25 juin 2013, 09:02

Il faut que les numéros de téléphone soit dans un tableau
While (...) {
...
$numero[] = ton numéro;
}

Eléphanteau du PHP | 19 Messages

25 juin 2013, 13:31

comme ca ?????
<?php require_once('../Connections/aqua.php');
require('libraries/lib-mobytsms.inc.php');

mysql_select_db($database_aqua, $aqua);

$sql = "SELECT numeri FROM inscription";
$reponse = mysql_query($sql);        
             
while ($valeur = mysql_fetch_array($reponse)){
numero[] = $valeur['numeri'];
$valeur['numeri'] = '+33'.substr($valeur['numeri'],1);
$numeri = "$numeri,";

}   

$sms = new mobytSms('user', 'mdp');

$result = $sms->sendMultiSms($numeri, 'message', 'TEXT', '','1');

if (substr($result, 0, 2) == 'OK')
        echo 'Les messages ont été envoyé correctement<br>'.$result;
else
        echo "Les messages n'ont pas été envoyé correctement<br><br>".$result;

echo $numeri;

?>

ViPHP
ViPHP | 2577 Messages

25 juin 2013, 14:54

$numeri = array();   // initialise avec un tableau vide
while ($valeur = mysql_fetch_array($reponse)){
   $numeri[] = '+33'.substr($valeur['numeri'],1);    // ajoute dans le tableau $numeri 
}   
et utiliser $numeri pour l'envoi.