bonjour à tous,

voilà je fais mes toutes premières ligne en java grâce à nairolf.

J'ai voulu faire ceci:
1-démarrage de ADM alarme
2-attente 300 000 milliseconde ou 5 minutes
3-relancer ADM alarme

les prb:
en 1- j'ai mis setTimeout pour lancer adm car je ne vois pas comment faite autrement

en 2 et 3 -setInterval refuse 300 000 car chiffre trop gros.
donc je pensais mettre un décompte ou je vais par exemple 30 tours d'attente avant de relancer ADM alarme

mais je ne sais pas comment 'câbler les fils pour que ça marche'

<SCRIPT language="Javascript">
function adm_alarme()
    {
        var dem=0;
        var cycle=30;
        var request = $.ajax({
                            data:{idf:<?php echo $id_f; ?>},
                            url: "./include/membre/parts/alarme_adm.php",
                            type: "GET",
                            dataType: "html"
                        });

    request.done(function(msg) {
                                $("#message").html( msg );
                                });
        }
function décompte() 
    {
        cycle = cycle--;
        if (cycle==0) {objet.adm_alarme();}
    }
objet.décompte();
setTimeout(adm_alarme,500);
setInterval(décompte,10000);
</script>

j'ai un autre petit soucis mais ce n'est pas ma priorité, adm alarme.php dois brasser pas mal de donné dans une bd et donc le rafraîchissement se fait mal.

je souhaiterai que seulement lorsque alarme_adm.php à finis et est prét à envoyer, le rafraîchissement se passe afin d'éviter la disparition de ses divs qui dure quelque seconde

<?php 
echo '<div class="alert alert-danger">alarme active</div>';
define('PROTECTIONINCLUDE', TRUE);
include './../../../config/bdall.php';

if (!isset($_GET"idf"])) 
    {
    //echo '<div class="alert alert-danger">les données ne passent pas</div>';
    }
else
    {
        //echo '<div class="alert alert-danger">les données passent </div>';
        $idf=$_GET"idf"];
        try{
                $DBPDO = new PDO($dbdns1,$dbuser1 , $dbpass1,
                    array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
                $DBPDO-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
                try{
                         /////////vérification droit ADM forum/////////
                        $sql = "SELECT user_type FROM phpbb_users WHERE `user_id` ='$idf' ";
                        $req = $DBPDO ->query($sql);  
                        while($adm_member_forum=$req->fetch(PDO::FETCH_OBJ)) 
                            {
                                if ($adm_member_forum->user_type==3)
                                    {$adm=1;}
                            }  

                        if ($adm==1)
                            {
                                /////////recherche de nouveaux membres sur le forum/////////
                                $sql = "SELECT user_id FROM phpbb_users WHERE `user_type` =1 ";
                                $req = $DBPDO ->query($sql);

                                while($new_member_forum=$req->fetch(PDO::FETCH_OBJ)) 
                                    {
                                        $act_forum=1;
                                    }
                            }
                        /////////recherche compte dans les différents moduls/////////
                        $sql = "SELECT idf,idtc,idtm FROM site_users WHERE `idf` ='$idf' ";
                        $req = $DBPDO ->query($sql);

                        while($tab_id=$req->fetch(PDO::FETCH_OBJ)) 
                            {
                                $idtc=$tab_id->idtc;
                                $idtm=$tab_id->idtc;
                            }

                        /////////vérification droit ADM civil/////////
                        $sql = "SELECT groupid FROM tracker_cil_groupmembers WHERE `pilotid` ='$idtc' ";
                        $req = $DBPDO ->query($sql);

                        while($adm_cil=$req->fetch(PDO::FETCH_OBJ)) 
                            {
                                /////////recherche de nouveaux membres sur enregistreur civil/////////
                                $sql2 = "SELECT confirmed FROM tracker_mil_pilots WHERE `confirmed` =0 ";
                                $req2 = $DBPDO ->query($sql2);
                                while($new_member_cil=$req2->fetch(PDO::FETCH_OBJ)) 
                                    {
                                        $act_cil=1;
                                    }

                                /////////recherche de nouveaux pirep sur enregistreur civil/////////
                                $sql2 = "SELECT accepted FROM tracker_cil_pireps WHERE `accepted` =0 ";
                                $req2 = $DBPDO ->query($sql2);
                                while($pirep_cil=$req2->fetch(PDO::FETCH_OBJ)) 
                                    {
                                        $val_cil=1;
                                    }

                            }

                        /////////vérification droit ADM militaire/////////
                        $sql = "SELECT groupid FROM tracker_mil_groupmembers WHERE `pilotid` ='$idtm' ";
                        $req = $DBPDO ->query($sql);

                        while($adm_mil=$req->fetch(PDO::FETCH_OBJ)) 
                            {
                                /////////recherche de nouveaux membres sur enregistreur civile/////////
                                $sql2 = "SELECT confirmed FROM tracker_mil_pilots WHERE `confirmed` =0 ";
                                $req2 = $DBPDO ->query($sql2);
                                while($new_member_mil=$req2->fetch(PDO::FETCH_OBJ)) 
                                    {
                                        $act_cil=1;
                                    }

                                /////////recherche de nouveaux pirep sur enregistreur civil/////////
                                $sql2 = "SELECT accepted FROM tracker_mil_pireps WHERE `accepted` =0 ";
                                $req2 = $DBPDO ->query($sql2);
                                while($pirep_mil=$req2->fetch(PDO::FETCH_OBJ)) 
                                    {
                                        $val_mil=1;
                                    }

                            }

                    }
                catch (PDOException $e) {echo "merde req";}

            }
        catch (PDOException $e){echo "merde bd";}
        if ($act_forum==1)
            {
            echo '<div class="alert alert-info"><button type="button" class="close" data-dismiss="alert">×</button>De nouveaux membres viennent de s\'inscrire sur le Forum. Merci de pensez à les activer. </div>';
            }
        if ($act_cil==1)
            {
                echo '<div class="alert alert-info"><button type="button" class="close" data-dismiss="alert">×</button>De nouveaux pilotes viennent de s\'inscrire sur l\'enregistreur civil. Merci de pensez à les activer.</div>';
            }
        if ($val_cil==1)
            {
                echo '<div class="alert alert-info"><button type="button" class="close" data-dismiss="alert">×</button>De nouveaux pireps viennent d\'être déposé sur l\'enregistreur civile. Merci de pensez à les étudier.</div>';
            }
        if ($act_mil==1)
            {
                echo '<div class="alert alert-info"><button type="button" class="close" data-dismiss="alert">×</button>De nouveaux pilotes viennent de s\'inscrire sur l\'enregistreur militaire. Merci de pensez à les activer.</div>';
            }
        if ($val_mil==1)
            {
                echo '<div class="alert alert-info"><button type="button" class="close" data-dismiss="alert">×</button>De nouveaux pireps viennent d\'être déposé sur l\'enregistreur militaire. Merci de pensez à les étudier.</div>';
            }
    }
?>

pourriez vous me guider

merci d'avance flo

6 réponses


Nairolf
Réponse acceptée

Comme tu dis tu t'y connais pas ^^

Exemple

Sinon il faut mettre à la fin, car c'est pour afficher des news, donc on lance une fois la fonction grâce à adm_alarme(); qui se trouve juste après la fonction, donc une fois chargée elle se lance, donc elle vas récupérer la news, puis un timer de 5 minutes se met en marche, et relance la fonction ensuite. Enfin après c'est vrai que je crois pas qu'il y a une différence si on le met au début où à la fin

Ensuite flo, pourquoi mettre include './../../../config/bdall.php'; Et non pas le chemin absolu, donc par rapport à la racine, ça sera plus simple non?

function adm_alarme()
{
    var dem=0;
    var cycle=30;
    var request = $.ajax({
        data:{idf:<?php echo $id_f; ?>},
        url: "./include/membre/parts/alarme_adm.php",
        type: "GET",
        dataType: "html"
    });
    request.done(function(msg) {
        $("#message").html( msg );
    });
    setTimeout("adm_alarme()",300000);
}
adm_alarme();

En fait tu peut faire ça, et ça doit marcher.

Euh Nairolf j'ai beau ne pas être très bon en syntaxe javascript/Jquery (je m'y fais pas ) mais sur cette ligne:
setTimeout("adm_alarme()",300000); tu as mis l'appel à la fonction entre guillemets et si je ne me trompe pas comme tout langage ce sera interprété comme une chaine et non comme un appel à la fonction ^^ .
Et si je ne dis pas de bêtise il faut mettre le setTimeout tout en haut de la fonction étant donné que là il va lancer l'alarme puis retarder.

Ok j'arrive vraiment pas à me faire à la syntaxe javascript/Jquery bien trop hasardeuse à mon goût.

flo3376
Auteur

merci messieurs, alors pour reprendre tous, les points,
-le prb de div qui apparait et disparait, était une erreur de ma part, je ne pointait pas la bonne div.

pourquoi include './../../../config/bdall.php, tous simplement parce que lorsque tous sera finis, je vais changer de sous domaines et donc je devrai mettre à jours le chemin absolue dans tout les fichiers, enfin si j'ai bien compris, tu pensais mettre inclue 'http://grafikart.fsfrancesimula......./config/bdall.php'

Pour ce qui est et de mettre au début ou à la fin, s'il n'y a pas d'importance, je préfére organiser en fonction de la position de la page pour le moment, surtout avec du js, j'aime bien le savoir pas caché à la fin d'une page :D

par contre, tu à laissé

var dem=0;
    var cycle=30;

je suppose que tu les a laissé en pensant que je les utilisé dans un autre JS. C'est un peu gourmant encore comme idée.;).

pour ton code je vais le tester dés que peu.

Oui tu peux supprimer var dem=0; et var cycle=30

Et sinon je veux dire si par rapport à la base ton fichier se trouve dans config/config.php ba tu met include '/config/config.php'