IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

afficher dans une fenetre un "echo"


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Points : 61
    Points
    61
    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).

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Salut Caroline

    Tu vas devoir utiliser du javascript:
    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>
    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.

  3. #3
    Membre du Club Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    sauf que je voudrais que la fenetre s'ouvre sans rien cliquer, juste à la fin du update par exemple.

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Avec jQuery ça se fait comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  5. #5
    Membre du Club Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    je n'y comprend pas grand chose ^^

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Est ce que par hasard tu ne voudrais pas faire une page qui monitor une activité sur le serveur SQL ??

    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

  7. #7
    Membre du Club Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    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;
    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.

  8. #8
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  9. #9
    Membre du Club Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    pour l'instant je vais laisser comme c'est on verra plus tard ton truc compliqué ^^

    merci quand meme

  10. #10
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Bah c'est toi qui demande

    Je ne connais pas d'autre moyen d'ouvrir une popup que de cette manière.

Discussions similaires

  1. Réponses: 12
    Dernier message: 16/04/2014, 10h47
  2. Réponses: 1
    Dernier message: 18/04/2009, 23h15
  3. JFileChooser : afficher dans une fenetre le fichier
    Par Premium dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 24/05/2007, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo