Double insertion dans la base
Résolu
dude00
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
dude00 Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
dude00 Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je travaille actuellement sur une plateforme d'envoi de sms.
Losrque je j'envoi un sms j'insere dans la base les listes selectionnees a l'envoi et le nombre de sms envoyé a cette liste. Cependant j'ai un probleme chaque insertion se fait en double. Après des heures de debug je ne trouve pas le probleme.
Voici la partie du code concerné:
fichier sms_ajax.php
function get_subscribers_single_list($sms_list_id, $msg, $users_list = null, $city_id, $user_id, $db)
{
$sms_list = $db->get_sms_list_subscriber($sms_list_id);
//print_r($sms_list);
$sms_histo_list_id = $db->log_list_sms_new($msg, $user_id, $city_id, $sms_list_id,$db->get_nb_sms_subscriber_list($sms_list_id));
if ($sms_list)
{
$a = 0;
foreach ($sms_list as $key=>$sms_user)
{
if($sms_user!=null){
$tab_infos=$db->recup_info_for_sms_send_param($sms_user);
if(strcmp("33", substr($sms_user,0,2)))
$sms_user= "%2b33".substr($sms_user,1);
if ($users_list == null)
$users_list = array();
array_push($users_list, array("sms_sub_tel" => $sms_user, "sms_sub_name" => $tab_infos["contact_surname"], "sms_dest_id" => $tab_infos["contact_id"], "sms_histo_list_id" =>$sms_histo_list_id[$key]));
}
}
}
return $users_list;
}
$Users_index = 0;
$users_list = array();
if ($sms_list_id != -1){
$users_list = get_subscribers_single_list($sms_list_id, $msg, null, $city_id, $user_id, $db);
//echo "user_list=".$users_list;
}
L'insertion se fait via la fonction log_list_sms_new appelé au debut de get_subsribers single list
function log_list_sms_new($msg, $sms_sender_id, $sms_city_id, $sms_list_id, $nb_sms)
{
for($i=0;$i<count($sms_list_id);$i++){
// echo "test_get_sms_sms_list_id=".$sms_list_id[$i]."<br>";
if ($sms_list_id[$i] != -1 && $sms_list_id[$i] != null)
{
//if (!$nb_sms)
//return;
$result = $this->database->query("select list_name from list where list_id='".$sms_list_id[$i]."'");
$list_name = $this->database->fetch_array($result);
//print_r($list_name);
$result = $this->database->query("select user_name from user where user_id='".$sms_sender_id."'");
$sender_name = $this->database->fetch_array($result);
//print_r($sender_name);
$this->database->query("insert into sms_histo_list (sms_msg, sms_date_list, sms_sender_id, sms_sender_name, sms_list_id, sms_list_name, sms_city_id, nb_sms)
values ('".addslashes($msg)."', '".time()."', '".$sms_sender_id."', '".addslashes($sender_name["user_name"])."', '".$sms_list_id[$i]."', '".addslashes($list_name["list_name"])."', '".$sms_city_id."', '".$nb_sms[$i]."')");
echo "insert into sms_histo_list (sms_msg, sms_date_list, sms_sender_id, sms_sender_name, sms_list_id, sms_list_name, sms_city_id, nb_sms)
values ('".addslashes($msg)."', '".time()."', '$sms_sender_id', '".addslashes($sender_name["user_name"])."', '$sms_list_id[$i]', '".addslashes($list_name["list_name"])."', '$sms_city_id', '$nb_sms[$i]')";
$sms_histo_id[]=$this->database->get_last_id();
echo"sms_histo_id=".print_r($sms_histo_id);
}
}
print_r($sms_histo_id);
return $sms_histo_id;
}
voila je ne trouve pas du tout, j'ai vu des histoires de double chargement de la page?Merci de votre aide
je travaille actuellement sur une plateforme d'envoi de sms.
Losrque je j'envoi un sms j'insere dans la base les listes selectionnees a l'envoi et le nombre de sms envoyé a cette liste. Cependant j'ai un probleme chaque insertion se fait en double. Après des heures de debug je ne trouve pas le probleme.
Voici la partie du code concerné:
fichier sms_ajax.php
function get_subscribers_single_list($sms_list_id, $msg, $users_list = null, $city_id, $user_id, $db)
{
$sms_list = $db->get_sms_list_subscriber($sms_list_id);
//print_r($sms_list);
$sms_histo_list_id = $db->log_list_sms_new($msg, $user_id, $city_id, $sms_list_id,$db->get_nb_sms_subscriber_list($sms_list_id));
if ($sms_list)
{
$a = 0;
foreach ($sms_list as $key=>$sms_user)
{
if($sms_user!=null){
$tab_infos=$db->recup_info_for_sms_send_param($sms_user);
if(strcmp("33", substr($sms_user,0,2)))
$sms_user= "%2b33".substr($sms_user,1);
if ($users_list == null)
$users_list = array();
array_push($users_list, array("sms_sub_tel" => $sms_user, "sms_sub_name" => $tab_infos["contact_surname"], "sms_dest_id" => $tab_infos["contact_id"], "sms_histo_list_id" =>$sms_histo_list_id[$key]));
}
}
}
return $users_list;
}
$Users_index = 0;
$users_list = array();
if ($sms_list_id != -1){
$users_list = get_subscribers_single_list($sms_list_id, $msg, null, $city_id, $user_id, $db);
//echo "user_list=".$users_list;
}
L'insertion se fait via la fonction log_list_sms_new appelé au debut de get_subsribers single list
function log_list_sms_new($msg, $sms_sender_id, $sms_city_id, $sms_list_id, $nb_sms)
{
for($i=0;$i<count($sms_list_id);$i++){
// echo "test_get_sms_sms_list_id=".$sms_list_id[$i]."<br>";
if ($sms_list_id[$i] != -1 && $sms_list_id[$i] != null)
{
//if (!$nb_sms)
//return;
$result = $this->database->query("select list_name from list where list_id='".$sms_list_id[$i]."'");
$list_name = $this->database->fetch_array($result);
//print_r($list_name);
$result = $this->database->query("select user_name from user where user_id='".$sms_sender_id."'");
$sender_name = $this->database->fetch_array($result);
//print_r($sender_name);
$this->database->query("insert into sms_histo_list (sms_msg, sms_date_list, sms_sender_id, sms_sender_name, sms_list_id, sms_list_name, sms_city_id, nb_sms)
values ('".addslashes($msg)."', '".time()."', '".$sms_sender_id."', '".addslashes($sender_name["user_name"])."', '".$sms_list_id[$i]."', '".addslashes($list_name["list_name"])."', '".$sms_city_id."', '".$nb_sms[$i]."')");
echo "insert into sms_histo_list (sms_msg, sms_date_list, sms_sender_id, sms_sender_name, sms_list_id, sms_list_name, sms_city_id, nb_sms)
values ('".addslashes($msg)."', '".time()."', '$sms_sender_id', '".addslashes($sender_name["user_name"])."', '$sms_list_id[$i]', '".addslashes($list_name["list_name"])."', '$sms_city_id', '$nb_sms[$i]')";
$sms_histo_id[]=$this->database->get_last_id();
echo"sms_histo_id=".print_r($sms_histo_id);
}
}
print_r($sms_histo_id);
return $sms_histo_id;
}
voila je ne trouve pas du tout, j'ai vu des histoires de double chargement de la page?Merci de votre aide
A voir également:
- Double insertion dans la base
- Double ecran - Guide
- Whatsapp double sim - Guide
- Base de registre - Guide
- Double driver - Télécharger - Pilotes & Matériel
- Touche insertion clavier - Guide
4 réponses
Salut!
je vois que tu fais l'insertion et après tu fais un echo "insert.........",je crois que le problème viens de là!essai de supprimer le echo "insert...."
Je ne vois pas pourquoi tu fais un echo insert..
$this->database->query("insert into sms_histo_list (sms_msg, sms_date_list, sms_sender_id, sms_sender_name, sms_list_id, sms_list_name, sms_city_id, nb_sms) values ('".addslashes($msg)."', '".time()."', '".$sms_sender_id."', '".addslashes($sender_name["user_name"])."', '".$sms_list_id[$i]."', '".addslashes($list_name["list_name"])."', '".$sms_city_id."', '".$nb_sms[$i]."')"); echo "insert into sms_histo_list (sms_msg, sms_date_list, sms_sender_id, sms_sender_name, sms_list_id, sms_list_name, sms_city_id, nb_sms) values ('".addslashes($msg)."', '".time()."', '$sms_sender_id', '".addslashes($sender_name["user_name"])."', '$sms_list_id[$i]', '".addslashes($list_name["list_name"])."', '$sms_city_id', '$nb_sms[$i]')";
je vois que tu fais l'insertion et après tu fais un echo "insert.........",je crois que le problème viens de là!essai de supprimer le echo "insert...."
Je ne vois pas pourquoi tu fais un echo insert..
C'est du debug, ca deconnais deja avant le echo. Afficher ta requete c'est ce qui te permet de voir se qu'il y a dedans et combien de fois elle est exécuté. Le problème ne viien pas de là