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 :

Javascript dans requête SQL


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Par défaut Javascript dans requête SQL
    Salut !

    Je souhaite faire une fonction Javascript dans laquelle il y a du code PHP.
    Dans ce code PHP, je fais une requête SQL qui nécessite le paramètre passé à la fonction Javascript. Je n'arrive pas à écrire ce paramètre dans la requête. J'ai donc une parse error qui ne me donne aucune information.
    Voici le code la fonction :

    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
     
    <SCRIPT language="Javascript">
       function suppcategorie(num)
          {
             <!--
                <?php
                   $req1="SELECT categorieFP_FR,categorieFP_UK
                             FROM categorie_fp
                             WHERE idCategorieFP='"?>num<?php"\"";
                   $result1=mysql_query($req1) or die ('Erreur SQL !<br>'.$req1.'<br>'.mysql_error());
                   while($tmp = mysql_fetch_array($result1)) :
                      $nom_FR = htmlentities(stripslashes($tmp['categorieFP_FR']));
                      $nom_UK = htmlentities(stripslashes($tmp['categorieFP_UK']));
                   endwhile; ?>
                   if (confirm ('Êtes-vous sûr(e) de vouloir supprimer la catégorie "<?php echo $nom_FR ?>" ?'))
                   {
                      <?php
                         $req="DELETE FROM categorie_fp
                                 WHERE idCategorieFP='"?>num<?php"'\"";
                         $result=mysql_query($req) or die ('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
                      ?>
                      alert ('La suppression a bien été effectuée !');
                      document.location.href="<?php echo $_SERVER['PHP_SELF']; ?>";
                    }
             // -->
          }
    </SCRIPT>
    Comme vous pouvez le voir, c'est num qui me pose un problème.
    Merci pour vos réponses !

  2. #2
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut
    Shankara,
    J'ai rapidement jetter un coup d'oeil a ton code et je pense que tu ne peux pas faire ca.
    Le PHP est traite du cote serveur, le JS du cote client. C'est une notion tres importante quand tu commences a mixer les 2 langages.
    Ca veut dire que ton code PHP va etre executer en premier, puis le code de la page generee est envoyer a ton browser (il n'y a plus de PHP, que du html et du js) et c'est a ce moment que le JS est interprete.

    En gros, au moment ou le PHP a besoin de la valeur de num, cette variable n'a pas encore de valeur!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Par défaut
    C'est bien embêtant ce que tu me dis là !
    En fait, voilà ce que je veux faire de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="<?php echo $_SERVER['PHP_SELF']; ?>" onclick="suppcategorie(<?php echo $idCategories; ?>)">Supprimer</a>
    Ce lien se situe dans un tableau qui liste des catégories provenant de ma BDD. En face de chacune se trouve un lien Modifier qui renvoie vers la même page avec un passage de 2 paramètres, ce qui a pour effet d'afficher un formulaire de modification à la place du tableau.
    Il y a aussi un lien Supprimer, seulement, pour la suppression, je n'ai pas besoin d'un formulaire. Si mon lien Supprimer se comporte de la même façon que Modifier, mon souci est que lorsque la fenêtre alert() s'affiche, j'ai une page blanche derrière au lieu du tableau. Voilà pourquoi je voulais éviter de passer par une url avec paramètres. J'espère que je suis assez claire (j'en doute )
    As-tu une idée ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Par défaut
    Et appeler une fonction PHP dans le onclick de mon lien, c'est possible ?

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut
    Shankara,

    Tu ne t'y prend pas de la bonne maniere. T'inquiete pas, je pense que tout le monde s'est pris la tete avec ce genre de chose!

    La bonne methode, a mon avis, c'est de faire une requete SQL qui liste tes categories.
    Pour chaque categorie tu as un ID, tu peux donc mettre cette idee dans ton lien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="blabla.php?supprcat=<?=idCat>">supprimer</a>
    Ensuite, tu vas ajouter une portion de code PHP avant l'endroit ou tu listes tes categories. Dans cette portion de code, tu vas regarder si tu trouve supprcat dans le GET, si oui le supprimer.

    En ce qui concerne la page blanche, c'est normale et c'est sur, c'est genant. alert est un action bloquante comme confirm d'ailleurs je crois.
    Cependant je pense que tu peux garder ton confirm dans ton lien. Et celon la reponse de l'utilisateur, tu laisses la page se reloader comme prevu ou alors tu dois pouvoir faire un return; et l'action ne sera pas effectuee!

    J'espere avoir ete clair. Good Luck
    Matthias

Discussions similaires

  1. [MySQL] Introduire une variable dans requête SQL, insérer des données à la volée
    Par Ronan.f dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 29/04/2006, 22h10
  2. [VB6]Fonction dans requête SQL Access
    Par jean-pierre96 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/04/2006, 19h44
  3. TEdit.Text dans Requête SQL?!?
    Par zarbydigital dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/10/2005, 09h37
  4. [Visual Web] [SJSC] Concaténation dans requête SQL
    Par Original Prankster dans le forum NetBeans
    Réponses: 22
    Dernier message: 15/08/2005, 14h50
  5. ASP et valeur NULL dans requêtes SQL
    Par chuck_m dans le forum ASP
    Réponses: 7
    Dernier message: 13/08/2004, 11h15

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