Bonjour,

je souhaiterai afficher une information suite à la modification de ma base de données par le biais d'un formulaire.
Pour faire plus simple, j'affiche un bandeau avec un message indiquant "enregistrement terminé" ou "échec de l'enregistrement" après le traitement de ma requête.

Pour ce faire, j'ai créé deux div comme suit :
fichier test.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
echo '<div id="reussi">Enregistrement termin&eacute;</div>';
echo '<div id="echec">Echec de l\'enregistrement</div>';
avec comme style css :
fichier syles.css
Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
#reussi{background: #C5E1A5;display: none;}
#echec {background: #FFAB91;display: none;}

J'arrive à changer le display: none par le biais d'une fonction javascript appelée suite à clic sur un bouton:
fichier script.js
Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
function messageErreur() {
  var div = document.getElementById("echec");
  if (div.style.display === "none") {
    div.style.display = "block";
  } else {
    div.style.display = "none";
  }
};

fichier test.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
echo'<button onclick="messageErreur()">Bouton</button>';
echo'<button onclick="messageReussi()">Bouton</button>';
Maintenant, je souhaiterai adapter cet appel au js dans mon fichier php à la suite de ma fonction de modification de base de données sans clic sur un bouton
fichier test.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
function modification(){
	//traitement sql
	if(nok){
		// ?? appeler la fonction js messageErreur()
	}
	else{//si ok
                // ?? appeler la fonction js messageReussi()
	}
}
J'arrive à modifier le style par le biais de :
fichier test.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo'<style>#echec{display: block;}</style>';
sans passer par le js, mais je trouve que c'est pas très propre...

Par la suite, si j'arrive à faire ça, le must serait que le message s'efface après XX secondes... mais on verra après si c'est possible !!

En vous remerciant par avance de votre aide

Cordialement

Lunick