Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/01/2011, 09h15   #1
Nouveau Membre du Club
 
Avatar de caro71ol
 
caroline
Étudiant
Inscription : janvier 2011
Messages : 140
Détails du profil
Informations personnelles :
Nom : caroline
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 140
Points : 28
Points : 28
Par défaut afficher dans une fenetre un "echo"

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).
caro71ol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 09h31   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Salut Caroline

Tu vas devoir utiliser du javascript:
Code :
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>
Un exemple rapide qui montre comment ouvrir une popup en cliquant sur un boutton.

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.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 09h36   #3
Nouveau Membre du Club
 
Avatar de caro71ol
 
caroline
Étudiant
Inscription : janvier 2011
Messages : 140
Détails du profil
Informations personnelles :
Nom : caroline
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 140
Points : 28
Points : 28
sauf que je voudrais que la fenetre s'ouvre sans rien cliquer, juste à la fin du update par exemple.
caro71ol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 09h50   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Avec jQuery ça se fait comme ça:
Code :
1
2
3
4
 
$(function () {
   $("div#results").dialog('open');
});
Tu ira mettre les résultats de ton update dans un div portant l'id 'results'.

Sinon rien ne t'empêche de faire:
Code :
1
2
 
<body onload="alert('modification effectuée');">
sauf peut être la main vengeresse d'un dieu mécontent du non respect des best practices
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 10h46   #5
Nouveau Membre du Club
 
Avatar de caro71ol
 
caroline
Étudiant
Inscription : janvier 2011
Messages : 140
Détails du profil
Informations personnelles :
Nom : caroline
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 140
Points : 28
Points : 28
je n'y comprend pas grand chose ^^
caro71ol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 11h17   #6
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Est ce que par hasard tu ne voudrais pas faire une page qui monitor une activité sur le serveur SQL ??

Citation:
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).
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...

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
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 11h51   #7
Nouveau Membre du Club
 
Avatar de caro71ol
 
caroline
Étudiant
Inscription : janvier 2011
Messages : 140
Détails du profil
Informations personnelles :
Nom : caroline
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 140
Points : 28
Points : 28
Code :
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;
voici une partie du code.

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.
caro71ol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 11h57   #8
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
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
Code :
1
2
3
4
 
$(function () {
   $("div#results").dialog('open');
});
Dans ton javascript. Note qu'il te faut jQuery et jQuery UI pour faire ça.
Si tu n'en veut pas, il faut mettre l'attribut onload sur le tag body avec un alert dedans avec ton message.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 13h40   #9
Nouveau Membre du Club
 
Avatar de caro71ol
 
caroline
Étudiant
Inscription : janvier 2011
Messages : 140
Détails du profil
Informations personnelles :
Nom : caroline
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 140
Points : 28
Points : 28
pour l'instant je vais laisser comme c'est on verra plus tard ton truc compliqué ^^

merci quand meme
caro71ol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 14h41   #10
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Bah c'est toi qui demande

Je ne connais pas d'autre moyen d'ouvrir une popup que de cette manière.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h24.


 
 
 
 
Partenaires

Hébergement Web