Bonjours à tous.
C'est une chose qui me tiens à cœur car cela me permettra d'avance sur un autre sujet au passage.
voilà commençons
je suis en train de faire un site avec l'un des dernier bootstrap 3.0.2
je souhaiterai afficher des alertes, pour ça il y a cette ligne qui me convient très bien
<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button>
alerte, votre base de donnée à subit une modification</div>
je souhaiterai que lorsque je charge ma page il se passe ceci:
1-coonexion à la bd
2-recherche d'une information récente datant de moins d'une minute, recherche via un timestamp stocké dans les lignes de la BD.
3-si info récente afficher la div // si pas d'info récente ne pas afficher la dive
4-attendre 1 minutes
5-reprendre à l'étape 2
et on boucle en permanence de 2 à 5.
1-coonexion à la bd via pdo
loop
{
2-recherche d'une information récente datant de moins d'une minute, recherche via un timestamp stocké dans les lignes de la BD.
if (info récente)
{<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button>
alerte, votre base de donnée à subit une modification</div>}
else{}
4-attendre 1 minutes
}
mais voilà je ne sais pas faire un boucle et je ne veux pas recharger toute la page.
J'ai besoin d'une bonne piste ou même si je sais que celà ne se faite pas, un code si possible, même partiel
je sais que cela va chercher en java ou ajax, mais je n'ai ni les connaissances, ni le temps de les aquérirs.
merci d'avance pour votre aide.
Flo
Ba regarde du côté de setInterval, et sinon moi j'aurais dit 'le roi des billes' même si on dit bien 'de toutes les chauve-souries, c'est Batman la meilleure' ce qui ne remet pas en cause la relation qu'il a avec Robin.
En fait tu as juste qu'à faire un script PHP qui se connecte à ta base, et charge la dernière info, et le fait apparaitre. En gros il affiche juste la dernière infos, juste en texte sans html.
Après avec AJAX tu récupères le contenu du script.
Tiens je te passe le code vu que tu t'y connait pas.
var request = $.ajax({
url: "script.php",
type: "GET",
dataType: "html"
});
request.done(function(msg) {
$("#ta-div").html( msg );
});
Voilà tu as tes pistes.
je m'empresse de tester ça et de le comprendre je te tiens au courant.
merci Nairwolf
bon la reine des billes, c'est à dire moi, n'est pas foutu de faire fonctionner ce si ridicule bout de code.
Je n'ai pas de messages d'erreur, script.php fonctionne normalement alors 2cas possibles, mon script php et faux, ce qui est fort possible, ou j'ai loupé quelque chose ce qui est certain.
Voici les codes, et l'adresse
index.php
<?php
if(!defined('PROTECTIONINCLUDE')){die('Accès Interdit');}
/////protection et insertion des base de donnée/////
define('PROTECTIONINCLUDE', TRUE);
include './config/bdall.php';
//////////////////////////////////////////////////
$mp =$user->data'user_unread_privmsg'];
$pilote = $user->data'username'];
$lastc= $user->data'user_lastvisit'];
if ($mp!=0){$message=1;} else {$message=0;}
$avatar=$user->data'user_avatar'];
$base_avatar="http://grafikart2.fsfrancesimulateur2.fr/forum/download/file.php?avatar";
$img_avatar=$base_avatar.'='.$avatar;
?>
<!DOCTYPE html>
<html>
<head>
<title>FFS2 V4/membre</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<style type="text/css">
html, body, #map-canvas {margin: 0; padding: 0 ;height: 500px;}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<!-- JQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<!-- Latest Bootstrap compiled and minified CSS -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0-rc1/css/bootstrap.min.css">
<!-- Latest Bootstrap compiled and minified JavaScript -->
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0-rc1/js/bootstrap.min.js"></script>
</head>
<body>
<?php include './include/membre/tache/scan.php' ?>
<div class="container">
<?php include './include/membre/parts/alarme.php' ?><br>
<SCRIPT language="Javascript">
var request = $.ajax({
url: "script.php",
type: "GET",
dataType: "html"
});
request.done(function(msg) {
$("#alert alert-success").html( msg );
});
</script>
<div class="row">
<div class="col-lg-3"><img src="<?php echo $img_avatar;?>" width="200px"></div>
<div class="col-lg-6"><?php include './include/membre/parts/bcentral.php' ?></div>
<div class="col-lg-3"><?php include './include/membre/parts/resforum.php';?></div>
</div>
<br><br>
<div class="row">
<div class="col-lg-3">
<br>
<ul class="nav nav-pills nav-stacked ">
<li><a href="index.php?page=home">Home</a></li>
<li><a href="index.php?page=session">Session</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" >Forum <span class="caret"></span></a>
<ul class="dropdown-menu">
<li ><a href="./forum/portal.php" target="_blank" >Forum avec portail</a></li>
<li ><a href="./forum/index.php" target="_blank">Forum light</a></li>
<li class="divider"></li>
<li ><a href="./forum/search.php?search_id=unreadposts" target="_blank">Nouveaux messages <span class="badge"><?php echo $nb_post;?></span></a></li>
<li ><a href="./forum/ucp.php?i=pm&folder=inbox" target="_blank">Messages privés <span class="badge"><?php echo $mp;?></span></a></li>
<li class="divider"></li>
<li ><a href="./forum/ucp.php" target="_blank">Panneau utilisateur </a></li>
<li class="divider"></li>
<li ><a href="./forum/viewonline.php" target="_blank">Qui est en ligne </a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" >Informations de vol <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="http://skyvector.com/airports" target="_blank">Informations et procédures aéroport</a></li>
<li><a href="http://fr.flightaware.com/resources/" target="_blank">Informations météo aéroport</a></li>
<li><a href="index.php?page=test" >tes</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" >Enregistreur civil <span class="caret"></span></a>
<ul class="dropdown-menu">
<?php
if ($idtc!=0)
{
?>
<li><a href="./trackeurcil/index.php/acars" target="_blank">Live map</a></li>
<li class="divider"></li>
<li><a href="index.php?page=pilote_cil&pilote=<?php echo $idtc; ?>" >Fiche du pilote</a></li>
<li><a href="./trackeurcil/index.php/profile/editprofile" target="_blank">Panneau utilisateur</a></li>
<li><a href="index.php?page=schedule_perso_cil&pilote=<?php echo $idtc; ?>" >Liste des vols effectués</a></li>
<li class="divider"></li>
<li><a href="index.php?page=pilote_cil_list">Liste des pilotes</a></li>
<li><a href="index.php?page=schedule_list_cil" >Liste des missions proposé</a></li>
<li><a href="index.php?page=aircraft_cil" >Liste des avions disponibles</a></li>
<?php
}
else {
?>
<li><a href="./trackeurcil/index.php/acars" target="_blank">Live map</a></li>
<li class="divider"></li>
<li class="disabled"><a href="" target="_blank">Fiche du pilote</a></li>
<li class="disabled"><a href="" target="_blank">Panneau utilisateur</a></li>
<li class="disabled"><a href="" target="_blank">Liste des vols effectués</a></li>
<li class="divider"></li>
<li><a href="index.php?page=pilote_cil_list">Liste des pilotes</a></li>
<li><a href="index.php?page=schedule_list_cil" >Liste des missions proposé</a></li>
<li><a href="index.php?page=aircraft_cil" >Liste des avions disponibles</a></li>
<?php
}
?>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" >Enregistreur militaire <span class="caret"></span></a>
<ul class="dropdown-menu">
<?php
if ($idtm!=0)
{
?>
<li><a href="./trackermil/index.php/acars" target="_blank">Live map</a></li>
<li class="divider"></li>
<li><a href="index.php?page=pilote_mil&pilote=<?php echo $idtm; ?>" >Fiche du pilote</a></li>
<li><a href="./trackermil/index.php/profile/editprofile" target="_blank">Panneau utilisateur</a></li>
<li><a href="index.php?page=schedule_perso_mil&pilote=<?php echo $idtm; ?>">Liste des vols effectués</a></li>
<li class="divider"></li>
<li><a href="index.php?page=pilote_mil_list">Liste des pilotes</a></li>
<li><a href="index.php?page=schedule_list_mil" >Liste des missions proposé</a></li>
<li><a href="index.php?page=aircraft_mil">Liste des avions disponibles</a></li>
<?php
}
else {
?>
<li><a href="./trackermil/index.php/acars" target="_blank">Live map</a></li>
<li class="divider"></li>
<li class="disabled"><a href="" target="_blank">Fiche du pilote</a></li>
<li class="disabled"><a href="" target="_blank">Panneau utilisateur</a></li>
<li class="disabled"><a href="" target="_blank">Liste des vols effectués</a></li>
<li class="divider"></li>
<li><a href="index.php?page=pilote_mil_list">Liste des pilotes</a></li>
<li><a href="index.php?page=schedule_list_mil" >Liste des missions proposé</a></li>
<li><a href="index.php?page=aircraft_mil">Liste des avions disponibles</a></li>
<?php
}
?>
</ul>
</li>
</ul>
</div>
<div class="col-lg-9">
<?php
if (isset($_GET"page"]))
{
if (($_GET"page"])=="home") {include './include/membre/page/home.php';}
if (($_GET"page"])=="session") {include './include/membre/page/session.php';}
if (($_GET"page"])=="aircraft_mil") {include './include/membre/enregistreur/aircraft_mil.php';}
if (($_GET"page"])=="aircraft_cil") {include './include/membre/enregistreur/aircraft_cil.php';}
if (($_GET"page"])=="schedule_details_cil") {include './include/membre/enregistreur/schedule_details_cil.php';}
if (($_GET"page"])=="schedule_details_mil") {include './include/membre/enregistreur/schedule_details_mil.php';}
if (($_GET"page"])=="schedule_perso_cil") {include './include/membre/enregistreur/schedule_perso_cil.php';}
if (($_GET"page"])=="schedule_perso_mil") {include './include/membre/enregistreur/schedule_perso_mil.php';}
if (($_GET"page"])=="schedule_list_mil") {include './include/membre/enregistreur/schedule_list_mil.php';}
if (($_GET"page"])=="schedule_list_cil") {include './include/membre/enregistreur/schedule_list_cil.php';}
if (($_GET"page"])=="pilote_cil") {include './include/membre/enregistreur/pilote_cil.php';}
if (($_GET"page"])=="pilote_mil") {include './include/membre/enregistreur/pilote_mil.php';}
if (($_GET"page"])=="pilote_cil_info") {include './include/membre/enregistreur/pilote_cil_info.php';}
if (($_GET"page"])=="pilote_mil_info") {include './include/membre/enregistreur/pilote_mil_info.php';}
if (($_GET"page"])=="pilote_cil_list") {include './include/membre/enregistreur/pilotes_cil_list.php';}
if (($_GET"page"])=="pilote_mil_list") {include './include/membre/enregistreur/pilotes_mil_list.php';}
if (($_GET"page"])=="view_mil_pirep") {include './include/membre/enregistreur/view_mil_pirep.php';}
if (($_GET"page"])=="view_cil_pirep") {include './include/membre/enregistreur/view_cil_pirep.php';}
if (($_GET"page"])=="test") {include './test.php';}
}
else
{include './include/membre/page/home.php';}
?>
</div>
</div>
</div>
<?php
?>
</body>
</html>
j'ai aussi essayer de le placer dans le header mais il est muet, actuellement il est en ligne 54 à 63
script.php
<?php
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{
$sql = "SELECT pirepid FROM tracker_cil_pireps ORDER BY pirepid DESC LIMIT 1";
$req = $DBPDO ->query($sql);
while($pirep=$req->fetch(PDO::FETCH_OBJ))
{
echo $pirep->pirepid;
}
}
catch (PDOException $e)
{
echo '<h6>OUPS:</h6>';
echo '</br>';
echo '<h5>L\'instruction pour la Base de Donnée n\'a pas été comprise correctement</h5>';
echo '</br>';
echo '</br>';
echo '<h5>Module mis en someil</h5>';
}
}
catch (PDOException $e)
{
echo '<h6>OUPS:</h6>';
echo '</br>';
echo '<h5>Une base de donnée n\'est pas de bonne humeur pour le moment.</h5>';
echo '</br>';
echo '<h5>Veuillez réssayer plus tard</h5>';
echo '</br>';
echo '</br>';
echo '<h5>Module mis en someil</h5>';
}
?>
Mais franchement pourquoi tout le monde m'appelle Nairwolf Oo
Sinon en allant sur le lien de ton script php, tu as un message?
alors à cause de supercoptére, airwolf, pour te répondre à ta première question
Pour la seconde j'ai simplifié script.php en me disant que comme d'hab que mes bd se font encore la malle
<?php
$msg="message vide,";
echo ($msg);
?>
script php ne peut que fonctionner mais toujours rien qui s'affiche
gros oups, le site à une sécurité forum, je gére ça de suite
identifiant: grafikart
mdp: grafikart123
voilà il est maintenant possible de visualiser le site
Alors soit c'est le lien vers le script qui est faux, donc pour vérifier il suffit juste de faire un include 'script.php' au début.
Soit c'est le fait que tu as pas créer de div avec l'id alert et qui contient une balise alert-success ce qui semble être le cas.
Donc essaye ça:
<script>
$(function(){
$.ajax({
type: "GET",
url: "/lien/vers/le_script.php"
}).done(function( msg ) {
$("#alert").html(msg);
});
})
</script>
<div id="alert"></div>
c'est une div du bootstrap, mais je me demande comme elle est géré pas la jquerry es qu'il n'y a pas conflit.
mais sinon bingo, avec ta div ça fonctionne
Oui je m'en doutais un peu, c'est parce que la div n'étais pas dans la page, donc jQuery ne pouvait pas afficher le message vu qu'il ne savait pas où le mettre.
et non je ne suis pas une fille, c'était juste une expression,
bon il ne me reste plus qu'a essayer de trouver le moyen de faire un refresh, c'est parti je me met en mode recherche
merci pour setinterval, avec du vocabulaire, je peux avancer, je cherche je teset et je te tiens au courant
et ça donne ça.
<SCRIPT language="Javascript">
function test()
{var request = $.ajax({
url: "./script.php",
type: "GET",
dataType: "html"
});
request.done(function(msg) {
$("#alert").html( msg );
});
}
setInterval(test,5000);
</script>
mais il semblerait que selon les pc ça marche plus ou moins bien