Je voudrais que mon message "echo" s'affiche dans une sorte de popup, une mini-fenetre en quelque sorte, à la manière du "alert()"; suite à une action dans la base de données: erreur ou modification effectuée. (plusieurs actions dans la meme page).
Je voudrais que mon message "echo" s'affiche dans une sorte de popup, une mini-fenetre en quelque sorte, à la manière du "alert()"; suite à une action dans la base de données: erreur ou modification effectuée. (plusieurs actions dans la meme page).
Salut Caroline
Tu vas devoir utiliser du javascript:
Un exemple rapide qui montre comment ouvrir une popup en cliquant sur un boutton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <head> <script type="text/javascript"> <!-- function myPopup() { window.open( "http://www.google.com/" ) } //--> </script> </head> <body> <form> <input type="button" onClick="myPopup()" value="POP!"> </form> <p onClick="myPopup()">CLICK ME TOO!</p> </body>
Il faut savoir que beaucoup de navigateurs et d'internautes bloquent les popup, des popups JS dans la page peuvent résoudre ce problème:
http://jqueryui.com/demos/dialog/
Il faudra sûrement que tu fasse de l'ajax pour effectuer l'action.
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter
N'oubliez pas de vous servir des bouttons , et
sauf que je voudrais que la fenetre s'ouvre sans rien cliquer, juste à la fin du update par exemple.
Avec jQuery ça se fait comme ça:
Tu ira mettre les résultats de ton update dans un div portant l'id 'results'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $(function () { $("div#results").dialog('open'); });
Sinon rien ne t'empêche de faire:
sauf peut être la main vengeresse d'un dieu mécontent du non respect des best practices
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<body onload="alert('modification effectuée');">
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter
N'oubliez pas de vous servir des bouttons , et
Est ce que par hasard tu ne voudrais pas faire une page qui monitor une activité sur le serveur SQL ??
Si je comprends bien, tu voudrais qu'a chaque action effectuée, il se passe quelque chose sur le navigateur coté client ? ça ne marche malheureusement pas comme ça. Il est impossible de faire en sorte que Apache/PHP envoie des données au client sans requêtes de sa part. La seule chose que tu peux faire pour "émuler" ce comportement est de faire des requêtes Ajax pour vérifier à intervalles régulier si il y a eu des mises à jour dans la bdd...Je voudrais que mon message "echo" s'affiche dans une sorte de popup, une mini-fenetre en quelque sorte, à la manière du "alert()"; suite à une action dans la base de données: erreur ou modification effectuée. (plusieurs actions dans la meme page).
jQuery est un framework pour Javascript: http://jquery.com/
jQuery UI est une surcouche pour jQuery qui ajoute des widgets: http://jqueryui.com/
Ajax est une technique de programmation web pour effectuer des requêtes HTTP assynchrones: http://en.wikipedia.org/wiki/Ajax_%28programming%29
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter
N'oubliez pas de vous servir des bouttons , et
voici une partie du code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 switch ($action) { case 'act': if( isset($_POST['choixacti1']) ) { $choixactivite=$_POST["choixacti1"]; $res = mysql_query("UPDATE planning SET num_activite='$choixactivite' WHERE num_planning='$activite';") or die ('Erreur sql!'.$res.'<br/>'.mysql_error()); message(1); } else { echo 'Selectionnez une activité dans l\'autre liste!<br>'; } break; case 'hdebut': if( isset($_POST['choixhdebut4']) ) { $choixhd=$_POST['choixhdebut4']; $choixfin=$choixhd+3; $res = mysql_query("SELECT * FROM creneau WHERE id_creneau=(SELECT MIN(num_creneau) FROM planning WHERE num_planning='$activite');") or die ('Erreur sql!'.$res.'<br/>'.mysql_error()); $row=mysql_fetch_assoc($res); $cren=$row['id_creneau']; for ($i=$choixhd;$i<$choixfin;$i++){ $res2 = mysql_query("UPDATE planning SET num_creneau='$i' WHERE num_creneau='$cren';") or die ('Erreur sql!'.$res2.'<br/>'.mysql_error()); $cren+=1; } echo 'modif heure deb effectuée'; } else { echo 'Selectionnez une heure de debut dans l\'autre liste!'; } break;
le echo je voudrais qu'il s'affiche dans une fenetre comme quand on a un message d'erreur, au lieu qu'il s'affiche en bas de la page.
Bah tu prends la solution citée plus haut: tu mets le résultat dans un div qui porte l'id results, dans ton CSS tu le cache et tu le fais voir avec
Dans ton javascript. Note qu'il te faut jQuery et jQuery UI pour faire ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $(function () { $("div#results").dialog('open'); });
Si tu n'en veut pas, il faut mettre l'attribut onload sur le tag body avec un alert dedans avec ton message.
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter
N'oubliez pas de vous servir des bouttons , et
pour l'instant je vais laisser comme c'est on verra plus tard ton truc compliqué ^^
merci quand meme
Bah c'est toi qui demande
Je ne connais pas d'autre moyen d'ouvrir une popup que de cette manière.
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter
N'oubliez pas de vous servir des bouttons , et
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager