Rafraichir le contenu d'une div
anto2b
Messages postés
137
Statut
Membre
-
gaelcr Messages postés 40 Statut Membre -
gaelcr Messages postés 40 Statut Membre -
Bonjour,
Bonjour à tous, je suis en train de créer un jeu de carte en ligne et j'ai un souci pour mon espace joueur.
Mon problème : Voici un exemple :
Par exemple les personnes connectés qui seront dans cette div :
J'aimerais que le contenu de la div id="connectes" s'actualise toutes les secondes afin que les personnes connectés s'affichent dynamiquement. Je sais qu'il existe un fonction en jquery load() ou avec AJAX mais je n'arrive pas à l'adapter à mon modèle.
Auriez vous une solution ou un exemple qui se rapproche du mien ?
Merci de votre aide
Voila la page d'affichage
Voila ma classe membre
Bonjour à tous, je suis en train de créer un jeu de carte en ligne et j'ai un souci pour mon espace joueur.
Mon problème : Voici un exemple :
Par exemple les personnes connectés qui seront dans cette div :
echo'<div id="connectes">'.$pseudo->afficheMembresCo().'</div>';
J'aimerais que le contenu de la div id="connectes" s'actualise toutes les secondes afin que les personnes connectés s'affichent dynamiquement. Je sais qu'il existe un fonction en jquery load() ou avec AJAX mais je n'arrive pas à l'adapter à mon modèle.
Auriez vous une solution ou un exemple qui se rapproche du mien ?
Merci de votre aide
Voila la page d'affichage
<?php
session_start();
include'connect_bdd.php';
include_once 'membre.class.php';
$pseudo = new Membre($_SESSION['pseudo']);
?>
<html>
<head>
<link href="styles/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
if(isset($_SESSION['pseudo']) && $_SESSION['pseudo'] != "")
{
echo'<div class="espace_profil">';
// Partie gauche
echo'<div class="profil_gauche">';
echo'<div class="titre_profil"> <b> Bienvenue '.$pseudo->getPseudo().'</b> </div>';
echo'<br><br>';
include'classement.php';
echo'</div>';
// Partie droite
echo'<div class="profil_droite">';
echo'<div id="connectes">'.$pseudo->afficheMembresCo().'</div>';
echo'<br><br>';
echo'<div class="titre_profil"><b>Espace de demande</b></div>';
$pseudo->afficheDemande();
echo'<br><br>';
echo'<div class="titre_profil"><b>Espace de reception</b></div>';
$pseudo->afficheReception();
$pseudo->afficheRedirection();
echo'</div>';
// Fin Partie droite
echo'</div>';
}
else echo'Accès refusée';
?>
</body>
</html>
Voila ma classe membre
<?php
Class Membre
{
private $pseudo;
public function __construct($session)
{
include'connect_bdd.php';
$this->pseudo = $session;
$pseudo_online = $bdd->query('select count(pseudo) as nb from cpt_connectes where pseudo="'.$session.'"')->fetchColumn();
if($pseudo_online<=0)
{
$bdd->exec('insert into cpt_connectes (pseudo) values ("'.$session.'")');
}
}
public function getPseudo()
{
return $this->pseudo;
}
public function afficheMembresCo()
{
include'connect_bdd.php';
$inter = $bdd->query('select pseudo from cpt_connectes');
$nb_online = $inter->rowCount();
$membre_dispo = $nb_online-1;
if($nb_online == 1)
echo '<div class="membres_dispo"><b>Il y a aucun membre disponible</b></div><br>';
else
echo '<div class="membres_dispo"><b>Membres disponibles ('.$membre_dispo.')</b></div><br> ';
if($nb_online>0)
{
echo'<table>';
while($donnees = $inter->fetch())
{
if( $donnees['pseudo'] != $this->pseudo)
echo '<tr><td><font style="font-family:Verdana; font-size:13px">'.$donnees['pseudo'].'</font></td><td><img onclick="demande_jeu(\''.$donnees['pseudo'].'\');" style="margin-left:5px;cursor:pointer" src="img/demande_jeu.jpg" width="28px"/></td></tr>';
}
echo'</table>';
}
}
public function afficheDemande()
{
include'connect_bdd.php';
$emetteur = $this->pseudo;
$verif_demande = $bdd->query("SELECT id FROM demande_jeu WHERE emetteur = '$emetteur'");
$count = $verif_demande->rowCount();
if($count ==1)
{
$verif_dest = $bdd->query("SELECT * FROM demande_jeu WHERE emetteur = '$emetteur'");
while ($donnees = $verif_dest->fetch())
{
if($donnees['reponse_dest'] == 'attente' )
echo '<br>Attente du joueur '.$donnees['destinataire'].'';
else
echo '<br>'.$donnees['destinataire'].' a accepté !';
}
}
else
echo '<br>Aucune demande de jeu';
$verif_demande->closeCursor();
}
public function afficheReception()
{
include'connect_bdd.php';
$destinataire = $this->pseudo;
// On recherche si une demande a été faite
$verif_destinataire = $bdd->query("SELECT id FROM demande_jeu WHERE destinataire = '$destinataire'");
$count = $verif_destinataire->rowCount();
if($count ==1)
{
// Si la demande a été faite, on affiche la demande avec l'emetteur
$verif_em = $bdd->query("SELECT * FROM demande_jeu WHERE destinataire = '$destinataire'");
while ($donnees = $verif_em->fetch())
{
if($donnees['partie_prete']!= 'oui' && $donnees['reponse_dest']!='oui' )
{
echo 'Vous avez une demande de '.$donnees['emetteur'].'<br> Voulez-vous accepter ? <br>
<input type="submit" value="Oui" onclick="demande(\'acceptation.php\');rafraichir_rec();"/><input type="submit" onclick="demande(\'sup_dem.php\');" value="Non"/> ';
}
if($donnees['reponse_dest']=='oui' && $donnees['partie_prete']!= 'oui')
echo 'Création de la partie, veuillez patienter ...';
}
$verif_em->closeCursor();
}
else
echo '';
}
public function afficheRedirection()
{
include'connect_bdd.php';
$joueur = $this->pseudo;
$redirection_joueur1 = $bdd->query("SELECT * FROM demande_jeu WHERE emetteur = '$joueur'");
while ($donnees = $redirection_joueur1->fetch())
{
$verif_redirection_j1 = $donnees['reponse_dest'];
if($verif_redirection_j1=='oui')
echo'<a href="creation_jeu.php"> Démarrer la partie</a>';
}
$redirection_joueur2 = $bdd->query("SELECT * FROM demande_jeu WHERE destinataire = '$joueur'");
while ($donnees = $redirection_joueur2->fetch())
{
$verif_redirection_j2 = $donnees['partie_prete'];
if($verif_redirection_j2=='oui')
echo'<a href="creation_jeu.php"> Démarrer la partie</a>';
}
}
}
?>
A voir également:
- Rafraichir le contenu d'une div
- Fusionner deux cellules excel en gardant le contenu - Guide
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
- Word a trouvé du contenu illisible - Guide
- Div c++ - Télécharger - Langages
- Ce contenu n'est pas disponible facebook - Forum Réseaux sociaux
1 réponse
Bonsoir,
Pour résoudre votre problème, il faut voir 2 parties:
- 1 service qui retourne le html/json/xml correspondant à la liste des connectés (et seulement ça)
- exemple http://votresite.com/connectes.php
- 1 script (jquery ou autre) sur la page de votre jeu qui appelle régulièrement ce service et en affiche le contenu
Pour le 2eme point, il existe en effet une function jquery qui permet de mettre le contenu d'un appel ajax dans une div avec un ID donné. La doc est ici: https://api.jquery.com/load/
Bon courage!
Cordialement
Gael
Pour résoudre votre problème, il faut voir 2 parties:
- 1 service qui retourne le html/json/xml correspondant à la liste des connectés (et seulement ça)
- exemple http://votresite.com/connectes.php
- 1 script (jquery ou autre) sur la page de votre jeu qui appelle régulièrement ce service et en affiche le contenu
Pour le 2eme point, il existe en effet une function jquery qui permet de mettre le contenu d'un appel ajax dans une div avec un ID donné. La doc est ici: https://api.jquery.com/load/
Bon courage!
Cordialement
Gael