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

JavaScript Discussion :

Boite de dialogue Javascript


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut Boite de dialogue Javascript
    Bonjour,

    Voici ma problématique:

    Je veux ouvrir une boite de dialogue de confirmation (oui/non) en Javascript quand une condition est remplie.
    Ceux que je veux faire c'est que quand je clique
    ANNULER= je reste sur ma page sans rien changer
    OK = execution de du second requete
    voiçi le code

    PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <? $req="select id from table where id=1";
    $res=mysql_query($req);
     if (mysql_num_rows($res)>0) {
        $nb=mysql_num_rows($res);
          while ($row=mysql_fetch_array($res)){?>
     
    <script language="JavaScript">
    confirm('Voulez vous CONTINUER ?'); 
    </script>
     
    <?$reqs=" delete from table where id = '".$row['id']."' ";

    Là la boite de dialogue s'affiche bien mais quand je clique sur ANNULER ça fait la même action que cliquer sur OK

    Jai modifier comme ça le script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <SCRIPT language="Javascript">							if(confirm('Voulez vous CONTINUER ?'))
    {
    <? <?$reqs=" delete from table where id = '".$row['id']."' ";?>				}else{location.replace("page.php");}								</SCRIPT>
    Mais la boite deialogue ne s'affiche pas et que quand je clique sur annuler le script s'execute car l'execution se fait sur la même page

    si vous avez des idées merçi par avance

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    confirm() retourne true quand tu cliques sur ok, et false quand tu cliques sur annuler
    Donc si tu veux rester sur la même page ne mets pas de else

  3. #3
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    Bonjour

    jai ecrit le code comme ça et ça a marché

    PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <? 
    $req="select id from table where id=1";
    $res=mysql_query($req);
    if (mysql_num_rows($res)>0) {
        $nb=mysql_num_rows($res);
         while ($row=mysql_fetch_array($res)){?>
     
       <script language="JavaScript">
        alert('Voulez vous CONTINUER ?'); 
       </script>
     
    <?$reqs=" delete from table where id = '".$row['id']."' ";
      suite du code ....
    Mon nouveau probleme c'est que ça m'affiche successivement des fenetres en fonction du nombre retourné par
    PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nb=mysql_num_rows($res);


    Qu'est ce qu'il faut que mets dans mon code javascript pour que la fenêtre ne s'affiche que une seule fois même si mysql_num_rows retourne plusieurs valeurs


    Merci

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Logique tu as mis alert() dans ta boucle while. Mets le alert() avant la boucle while.

    Ceci dit une boite de dialogue confirm() est plus appropriée ici

  5. #5
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    j'ai mis le javascript en dehors de while
    mais la boite de dialogue s'affiche plusieurs fois ???

    PHP:
    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
    $req="select id from table where champ=\"".$champ."\" ";
    $res=mysql_query($req) or exit(mysql_error() . "<br/>$req");
    if (mysql_num_rows($res)>0) 
        { 
            ?>
     
        <SCRIPT language="Javascript">                            
    alert('voulez vous continuer');
         </SCRIPT>
         <?                                                
     while ($row=mysql_fetch_array($res))
       {                                        
    $reqs="DELETE  from table where id ='".$row['id']."' ";
     //echo $reqs;
     $ress=mysql_query($reqs) or exit(mysql_error() . "<br/>$reqs");
            }
        }
    Merci

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    quel est le code HTML généré ?

  7. #7
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    Bonjour
    je ne comprend pas tres bien ceux que vous attendez par code HTML generé ??

  8. #8
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Le client ne voit pas le code PHP mais le code HTML généré par le script PHP.

    - Où est placé ce code PHP ? Dans le body ou le head de la page ?
    - Par ailleurs, je me demande si ce n'est pas plus un problème PHP que JS.

  9. #9
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    Bonjour

    il y a deux pages :

    page1.php et page2.php

    la page page1.php contient le html qui faire require('page2.php')

    et c'est dans la page2.php que se trouve le code javascript

    .....

  10. #10
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    Bonjour

    après une longue reflexion j'ai pu trouver une solution
    jai initialisé une variable à false et qui passe à true quand



    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
    $var=false;
    $req="select id from table where champ=\"".$champ."\" ";
    $res=mysql_query($req) or exit(mysql_error() . "<br/>$req");
    if (mysql_num_rows($res)>0)
        { $var=true;
            ?>
     
     
         <?                                               
     while ($row=mysql_fetch_array($res))
       {                                       
    $reqs="DELETE  from table where id ='".$row['id']."' ";
     //echo $reqs;
     $ress=mysql_query($reqs) or exit(mysql_error() . "<br/>$reqs");
            }
        }
    et à la fin du script
    if($var==true{<SCRIPT language="Javascript">                           
    alert('ok');
         </SCRIPT>})
    là cest ok

    mon dernier probleme c'est
    si le resultat de mon requete trouve en même temps dans la liste des données verifiant

    et

    ==> la requete $reqs est bien executé mais la boite de dialogue ne s'affiche pas c'est sans doute parce quil a trouvé des données qui ne verifie pas


    votre idée

Discussions similaires

  1. Boite de dialogue javascript / Mysql
    Par jesaye dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/05/2011, 22h27
  2. Boite de dialogue javascript avec PHP
    Par moulery dans le forum Langage
    Réponses: 6
    Dernier message: 29/04/2010, 07h41
  3. Les caractères dans les boites de dialogues javascript
    Par Invité dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/08/2009, 11h45
  4. [PHP-JS] boite de dialogue JavaScript dans du PHP
    Par momo49800 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/06/2006, 10h57
  5. Boite de dialogue javascript
    Par ashurai dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/11/2005, 15h23

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