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

jQuery Discussion :

Intégrer un boite de dialogue


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2014
    Messages : 40
    Par défaut Intégrer un boite de dialogue
    Bonjour,
    Dans le souci de rendre mon progiciel plus interactif, je souhaitais intégrer une boite de dialogue JQuery.
    J'ai une table "observations_or" qui recense les observations faites par les utilisateurs. A l'ouverture de la page liée à l'article, si une observation a été faîte l'internaute prend connaissance de la dernière observation via une boite de dialogue. Il peut alors supprimer ou ne pas supprimer ce commentaire.

    Code php : 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    	<?php
    	// Vérifier si des observations ont déjà été enregistrées
    	$resultObservations = $bdd->query("SELECT count(CODE) FROM `observations_or` WHERE ID_VEHICULE='".$id_chargee."'");
    	$rowObservations = $resultObservations->fetch();
    	$totalObservations = $rowObservations[0];
    	$resultObservations->closeCursor();
     
    	// Charegement de la variable observations
    	if ($totalObservations){
    		$chercherObservations = $bdd->query("SELECT*FROM `observations_or` WHERE ID_VEHICULE='".$id_chargee."'");
    		$rowCommentaires = $chercherObservations->fetch();
    		$idObservations=$rowCommentaires["ID"];
    		$observations=$rowCommentaires["OBSERVATIONS"];
    		$suiviObservations=$rowCommentaires["SUIVI"];
    		$dateEditionObservations=date("d-m-Y",strtotime($rowCommentaires["DATE_EDITION"]));
    		$chercherObservations->closeCursor();
    		?>
    		<div id="dialog" title="Information interventions relevées">
    		<strong>Des observations onté été relevées le <?php echo $dateEditionObservations;?> par <?php echo $suiviObservations;?> :</strong><br/>
    		<p style="font-size: small;font-style: italic;"><?php echo $observations;?></p>
    		<p><strong>Souhaitez vous supprimer cette observation ?</strong></p>
    		</div>
    		<script src="http://code.jquery.com/jquery.min.js"></script>
    		<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 
    		<script>
    		  $(function() {
    			$( "#dialog" ).dialog({
    			  modal: false,
    			  height:400,
    			  width:600,
    			  zindex:1000,
    			  buttons: {
    				"Oui": function() {
     
    				  $( this ).dialog( "close" );
    					<?php
    					    $req = $bdd->exec('DELETE FROM `observations_or` WHERE `ID` = '.$idObservations);
    					?>
    				},
    				"Non": function() {
    				  $( this ).dialog( "close" );
    				}
    			  }
    			});
    		  });
    		</script>
    		<?php
    	}	
    	?>

    Le problème, c'est que je choisisse "Oui" ou "Non", la ligne est effacée. Je ne comprends pas vraiment.

    Quelqu'un aurait-il une solution ?

    D'avance merci.

    Michel

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 660
    Billets dans le blog
    1
    Par défaut
    php s'exécute coté serveur ...
    js coté client.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2014
    Messages : 40
    Par défaut Solution Ajax
    Bonjour,
    La solution ne serait-elle pas Ajax ?
    Je ne comprends pas qu'à partir d'une condition Javascript les deux choix mènent au même résultat.
    Auriez vous une solution ?
    Par avance merci.

  4. #4
    Membre très actif
    Avatar de H2R file comme l'aire
    Homme Profil pro
    Pilote moto gp
    Inscrit en
    Février 2017
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Pilote moto gp

    Informations forums :
    Inscription : Février 2017
    Messages : 70
    Par défaut
    Salut la solution est belle et bien l'ajax et les événements javascript

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 660
    Billets dans le blog
    1
    Par défaut
    Je ne comprends pas qu'à partir d'une condition Javascript les deux choix mènent au même résultat.
    Justement parce que JS s'execute coté cleint et php coté seveur.
    Tu crois que la condition js va lancer ou non le script php, alors qu'il a déja été exécuté coté serveur AVANT que la page ne se charge chez le client ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2014
    Messages : 40
    Par défaut Une première solution
    Bonjour à tous,
    A force de test, j'ai peut-être trouvé une solution :
    Code php : 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    	<?php
    	// Vérifier si des observations ont déjà été enregistrées
    	$resultObservations = $bdd->query("SELECT count(CODE) FROM `observations_or` WHERE ID_VEHICULE='".$id_chargee."'");
    	$rowObservations = $resultObservations->fetch();
    	$totalObservations = $rowObservations[0];
    	$resultObservations->closeCursor();
     
    	// Charegement de la variable observations
    	if ($totalObservations){
    		$chercherObservations = $bdd->query("SELECT*FROM `observations_or` WHERE ID_VEHICULE='".$id_chargee."'");
    		$rowCommentaires = $chercherObservations->fetch();
    		$idObservations=$rowCommentaires["ID"];
    		$observations=$rowCommentaires["OBSERVATIONS"];
    		$suiviObservations=$rowCommentaires["SUIVI"];
    		$dateEditionObservations=date("d-m-Y",strtotime($rowCommentaires["DATE_EDITION"]));
    		$chercherObservations->closeCursor();
    		?>
    		<div id="dialog" title="Information interventions relevées">
    		<strong>Des observations onté été relevées le <?php echo $dateEditionObservations;?> par <?php echo $suiviObservations;?> :</strong><br/>
    		<p style="font-size: small;font-style: italic;"><?php echo $observations;?></p>
    		<p><strong>Souhaitez vous supprimer cette observation ?</strong></p>
    		</div>
    		<script src="http://code.jquery.com/jquery.min.js"></script>
    		<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 
    		<script>
    		  $(function() {
    			$( "#dialog" ).dialog({
    			  modal: false,
    			  height:400,
    			  width:600,
    			  buttons: {
    				"Oui": function () {
    					var id = <?php echo $idObservations;?>;
    					$.ajax({
     
    						type:"GET",
    						url: "information_vehicule.php?delete="+id
    					});
    					$( this ).dialog( "close" );
     
    				},
    				"Non": function () {
    				  $( this ).dialog( "close" );
    				}
    			  }
    			});
    		  });
    		</script>
    		<?php
    	}	
    	?>

    La page "information_vehicule.php" :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (!empty($_GET['delete'])){
    	$idObservations=$_GET['delete'];
    	$req = $bdd->exec('DELETE FROM `observations_or` WHERE `ID` = '.$idObservations);
    }

    ça fonctionne mais qu'en pensez vous ? Peut-on améliorer ce code ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/02/2011, 15h01
  2. Réponses: 2
    Dernier message: 17/11/2007, 13h48
  3. Affichage d'une boite de dialogue nonmodale avec MFC
    Par the.cable.guy dans le forum Windows
    Réponses: 3
    Dernier message: 04/07/2003, 17h59
  4. Réponses: 5
    Dernier message: 04/04/2003, 15h02
  5. Comment cree une boite de dialogue parcourir
    Par kenshi dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2003, 10h30

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