Pagina 1 din 1

Fetching row cu AJAX la un interval de 2 secunde

Scris: Dum Sep 09, 2018 9:27 pm
de ezramod
Salut, nu stiu daca am scris corect titlul sa fie cat mai explicit , speta mea este cam asa:

Am Form-ul:

Cod: Selectaţi tot

<form action="<?=$_SERVER['PHP_SELF']?>" method="post" class="trimite_sms" id="trimite_sms">
                  <div class="row form-group">                  
                            <div class="col-12 ">
                        <textarea name="sms_mesaj" id="sms_mesaj" rows="9" placeholder="Aici scrie mesajul tau" class="form-control"></textarea>
                        <div class="clearfix"></div>
                           <hr />
                        <div class="clearfix"></div>
                        <h6 class="pull-right" id="count_message"></h6>
                        <div class="clearfix"></div>
                           <hr />
                        <div class="clearfix"></div>
                     </div>
                     <div class="col-12 text-center">
                        <input type="submit" name="trimite_sms_submit" id="trimite_sms_submit" class="btn btn-success btn-lg" value="Trimite mesaj" />
                     </div>                  
                        </div>
                  </form>


care executa :

Cod: Selectaţi tot

if(!empty($_POST)) {
$mesaj = $_POST['sms_mesaj'];
$i = 1;
$result = mysql_query("SELECT * FROM clienti_test");
while ($row = mysql_fetch_array($result)) {
$numar = $row['telefon'];
$mesaj = str_replace('<br />','%0A',nl2br($_POST['sms_mesaj']));
echo '<div class="col-sm-1">'.$i.'</div><div class="col-sm-11"><iframe class="iframe_sms" src="http://192.168.0.121:8080/v1/sms/send/?phone='.$numar.'&message='.$mesaj.'"  frameborder="0" allowfullscreen=""></iframe></div>';
$i++;
}
}


Dupa executarea form-ului scriptul incarca iframe-ul pentru moment de 200 de ori in acelasi timp, iar iframe-ul trimite sms-uri de pe un telefon android cu sms gate away

Avand 200 de numere, adica 200 de iframe-uri intr-o simpla executie , des pagina crasheaza sau telefonul nu reuseste sa incarce toate sms-urile, deaceea as avea nevoie de o idee/sugestie cum as putea sa facca fiecare $result sa fie incarcat ajax odata la 2 secunde, pana se termina toate cele 200 de iframe-uri.

Sper ca m-am exprimat destul de explicit pentru a intelege ceea ce vreau sa fac.

Re: Fetching row cu AJAX la un interval de 2 secunde

Scris: Dum Sep 09, 2018 10:34 pm
de Jetix
1. Iti sugerez sa incepi sa inveti PDO (mysql are vulnerabilitati).
2. Daca am inteles bine, vrei ca sa trimiti un mesaj la fiecare numar din baza de date, iar mesajele sa fie acordate la un interval de 2 secunde.
3. Nu stiu cum se face asta, glumesc, incearca asta si spune-mi daca merge (nu l-am testat).

Cod: Selectaţi tot

<?php

if(!empty($_POST)) {
   $mesaj = $_POST['sms_mesaj'];
   $i = 1;
   $result = mysql_query("SELECT * FROM clienti_test");
   while ($row = mysql_fetch_array($result)) {
      $numar = $row['telefon'];
      if ($numar > 0) {
         $mesaj = str_replace('<br />','%0A',nl2br($_POST['sms_mesaj']));
         echo '<div class="col-sm-1">'.$i++.'</div><div class="col-sm-11"><iframe class="iframe_sms" src="http://192.168.0.121:8080/v1/sms/send/?phone='.$numar.'&message='.$mesaj.'"  frameborder="0" allowfullscreen=""></iframe></div>';
         sleep(5);
      } else {
         echo 'Nu am gasit numar de telefon.';
      }
   }
}

?>

<form action="<?=$_SERVER['PHP_SELF']?>" method="post" class="trimite_sms" id="trimite_sms">
   <div class="row form-group">                 
      <div class="col-12 ">
         <textarea name="sms_mesaj" id="sms_mesaj" rows="9" placeholder="Aici scrie mesajul tau" class="form-control"></textarea>
         <div class="clearfix"></div>
         <hr />
         <div class="clearfix"></div>
         <h6 class="pull-right" id="count_message"></h6>
         <div class="clearfix"></div>
         <hr />
         <div class="clearfix"></div>
      </div>
      <div class="col-12 text-center">
         <input type="submit" name="trimite_sms_submit" id="trimite_sms_submit" class="btn btn-success btn-lg" value="Trimite mesaj" />
      </div>                 
   </div>
</form>

Eu am pus 5 secunde, daca vrei modifici tu.

Re: Fetching row cu AJAX la un interval de 2 secunde

Scris: Lun Sep 10, 2018 7:32 am
de ezramod
ms frumos pentru reply, dar nu functioneaza, daca setez sleep la 5 secunde sau 60 de secunde spre exemplu, dupa executia butonului trimite, scriptul sta acele 5 secunde sau 60 sec depinde cate am pus, dupa care da drumu la toate deodata, asa face si cu ajax (in modul in care am incercat eu), nu trimite one by one

Re: Fetching row cu AJAX la un interval de 2 secunde

Scris: Lun Sep 10, 2018 11:37 am
de Jetix
ezramod scrie:ms frumos pentru reply, dar nu functioneaza, daca setez sleep la 5 secunde sau 60 de secunde spre exemplu, dupa executia butonului trimite, scriptul sta acele 5 secunde sau 60 sec depinde cate am pus, dupa care da drumu la toate deodata, asa face si cu ajax (in modul in care am incercat eu), nu trimite one by one

Hmm, nu prea as crede, dar fie, uite aici un cond, l-am testat si eu si merge:

Cod: Selectaţi tot

<?php

$conn = new mysqli('localhost', 'root', '', 'test') or die('Error the connection to database!');

if (!empty($_POST)) {
   $mesaj = $_POST['sms_mesaj'];
   $i = 1;
   $result = $conn->query("SELECT * FROM clienti_test");
   while ($row = mysqli_fetch_array($result)) {
      $numar = $row['telefon'];
      if ($numar > 0) {
         $mesaj = str_replace('<br />','%0A',nl2br($_POST['sms_mesaj']));
         echo '<div class="col-sm-1">'.$i++.' - '.date("H:i:s").'</div><div class="col-sm-11"><iframe class="iframe_sms" src="http://192.168.0.121:8080/v1/sms/send/?phone='.$numar.'&message='.$mesaj.'"  frameborder="0" allowfullscreen=""></iframe></div>';
         sleep(5);
      } else {
         echo 'Nu am gasit numar de telefon.';
      }
   }
}

?>

<form action="<?=$_SERVER['PHP_SELF']?>" method="post" class="trimite_sms" id="trimite_sms">
   <div class="row form-group">                 
      <div class="col-12 ">
         <textarea name="sms_mesaj" id="sms_mesaj" rows="9" placeholder="Aici scrie mesajul tau" class="form-control"></textarea>
         <div class="clearfix"></div>
         <hr />
         <div class="clearfix"></div>
         <h6 class="pull-right" id="count_message"></h6>
         <div class="clearfix"></div>
         <hr />
         <div class="clearfix"></div>
      </div>
      <div class="col-12 text-center">
         <input type="submit" name="trimite_sms_submit" id="trimite_sms_submit" class="btn btn-success btn-lg" value="Trimite mesaj" />
      </div>                 
   </div>
</form>


https://i.imgur.com/4YuVIzM.png

Re: Fetching row cu AJAX la un interval de 2 secunde

Scris: Lun Sep 10, 2018 9:34 pm
de ezramod
Multumesc Jetix, varianta finala era:

Cod: Selectaţi tot

if (!empty($_POST)) {
   $i = 1;
    $result = mysql_query("SELECT * FROM clienti_test");
   while ($row = mysql_fetch_array($result)) {
      $numar = $row['telefon'];
      if ($numar > 0) {
         $mesaj = str_replace('<br />','%0A',nl2br($_POST['sms_mesaj']));
         echo '<div class="col-sm-12">'.$i++.' - '.date("H:i:s").'</div><div class="col-sm-12"><iframe class="iframe_sms" src="http://192.168.0.121:8080/v1/sms/send/?phone='.$numar.'&message='.$mesaj.'"  frameborder="0" allowfullscreen=""></iframe></div>';
   flush();
   ob_flush();
        sleep(5);
      } else {
         echo 'Nu am gasit numar de telefon.';
      }
   }
}


flush();
ob_flush();
sleep(5);

Re: Fetching row cu AJAX la un interval de 2 secunde

Scris: Joi Sep 13, 2018 12:00 am
de necuratu
scriemi in privat am eu solutia construita de mine un ( crm ) cu gatewayuri multiple , si posibilitate whatsup , cu canale active india

Re: Fetching row cu AJAX la un interval de 2 secunde

Scris: Sâm Sep 22, 2018 6:49 am
de ViezuREX
Iti rcomand sa folosesti CURL pentru apelul catre gateway (telefon) deoarece solutia cu iframe, chiar daca merge, poate ridica multiple probleme.

Re: Fetching row cu AJAX la un interval de 2 secunde

Scris: Sâm Sep 22, 2018 8:42 am
de ezramod
Am folosit o solutie curl si mi-a creat foarte mult probleme, gen nu trimetea la toti useri, sau dădea drumu bulk la sms-uri