[RESOLU] probleme affichage/ modif BDD

Eléphanteau du PHP | 10 Messages

29 sept. 2016, 15:19

bonjour,

J'ai créé un petit site web avec 1 base de donnée, 1 page d'affichage sur un autre poste , 1 page de modification.
Tout marche bien.
Mon problème, est que si je fais des modifications dans la BDD, il faut que je recharge ma page d'affichage des données.
Es ce que AJAX pourrait réglé mon problème, ou a t'il une autre solution ?
Merci d'avance de vos conseils.
Bonne journée.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 sept. 2016, 15:58

salut,

oui en effectuant une requête serveur régulièrement pour savoir s'il y a des modifications et si oui modifier le contenu de la page actuelle.
ou alors les websocket, tu pourras pousser l'info depuis le serveur ;)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 10 Messages

29 sept. 2016, 16:15

Salut,
Les websocket, c'est quoi ça ?
Je ne peux pas faire la mise a jours sur la page d'affichage au moment ou je modifie les infos dans la BDD ?
a+++

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 sept. 2016, 16:26

http://lmgtfy.com/?q=websocket
http://lmgtfy.com/?q=websocket+avec+php

http://www.xul.fr/html5/websocket.php


voilà voilà.

les web socket c'est la solution pour une initiative serveur, sachant que tu travail sur du désynchronisé (en clair il n'y a pas de canal (bi-directionnel ou pas) constant ouvert entre le navigateur et le serveur).

@+
Il en faut peu pour être heureux ......

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 sept. 2016, 18:10

Bonjour,

En fait, les pages html affichées par le navigateur sont statiques, elles ne bougent jamais. Donc si tu changes le contenu de ta page en modifiant la base de données, il faut impérativement que le navigateur fasse un nouvel appel au serveur pour constater que la page a changé et qu'il doit afficher un nouveau code html.

Si un utilisateur consulte ta page pendant que tu es en train de la modifier, s'il veut voir les changement il devra donc actualiser la page ou revenir plus tard. L'autre solution consiste à inclure un bout de code html ou javascript pour rafraîchir automatiquement ta page toutes les X secondes. Mais ça peut vite être très frustrant pour l'utilisateur de voir la page se recharger, surtout quand il n'y a rien de nouveau à afficher dessus.

Avec ajax, tu peux appeler le serveur sans avoir besoin de recharger toute la page. Tu peux ainsi l'actualiser que lorsque cela est nécessaire. A voir ensuite comment informer l'utilisateur que le contenu de la page qu'il consulte a évolué.

Enfin, comme indiqué par moogli, les websocket sont une solution à l'initiative du serveur qui ne se déclencherait qu'en cas de modification de ta page (pas sur que pour un niveau débutant ce soit ce qu'il y a de plus simple, mais si tu aimes relever des défis... :))

Mais la question à te poser est "est-ce que l'utilisateur a besoin d'avoir l'information que je viens de mettre en base en (quasi) temps réel ?". Si oui, roulez jeunesse, sinon, bah il aura l'info la prochaine fois qu'il viendra, ou en suivant un fil rss, ... c'est pas si grave :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 10 Messages

29 sept. 2016, 18:50

Oui, mon niveau ne me permets pas d'utiliser les websocket (défis hors de ma porté).
Par contre j'ai besoin de l'info en temps réel.
J'avais mis en place un rafraichissement le page toutes les x minutes. Mais bof !!!!
Je vais regarder ajax de plus près. je pense que ce sera plus a ma porté que les websocket !!!!
Merci pour vos conseils.