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 :

Exécuter une requête SQL dans une fonction Javascript


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut Exécuter une requête SQL dans une fonction Javascript
    Bonjour a tous, je voudrais savoir s'il me serait possible d'excéter une fonction dans une fonction 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
     
     function recup_mail_click(){
     	var sel = document.completion_form.completion_select ;
     	document.completion_form.completion_text.value = sel.options[sel.selectedIndex].value;
     	sel.style.display = 'none';
     	requete="WHERE BPRNAM='"+document.completion_form.completion_text.value+"'"; 
     	<?php
     		$query = "SELECT * FROM Tiers "+requete+"";
    		$result = mysql_query($query);
    		while($row = mysql_fetch_assoc($result)){
    			?>alert($row["BPAADDLIG"]);<?php
    		}
     	?>
     }

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    pas de cette manière, PHP est executé au niveau du serveur !

    http://siddh.developpez.com/articles/ajax/

  3. #3
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut oui mais ...
    Ai je un moyen autre de faire une telle chose ?

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Non.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Points : 35
    Points
    35
    Par défaut
    bonsoir ,
    j'ai le même problème ,je voudrais moi aussi exécuter une requête SQL dans une fonction javascript et là je suis planté .
    si vous avez trouvé une solution je vous serais très reconnaissante.
    merci d'avance

  6. #6
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Ajax est ton seul ami...

    http://ajax.developpez.com/cours/


  7. #7
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ThomasR Voir le message
    Non.
    Ou comment casser les espoir d'un développeur

    Sinon j'ai une petite fonction que je me trimballe tout le temps fort pratique:

    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
    function creerobjet(fichier) 
    	{ 
    		if(window.XMLHttpRequest) // FIREFOX 
    			xhr_object = new XMLHttpRequest(); 
    		else if(window.ActiveXObject) // IE 
    			xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
    		else 
    			return(false); 
    		xhr_object.open("POST", fichier, false); 
    		xhr_object.send(null); 
    		if(xhr_object.readyState == 4)
    			return(xhr_object.responseText); 
    		else
    			return(false); 
    	}
    Elle permet de retourner le resultat d'une page exemple:
    toto.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    creerobjet("toto.php");
    renverra la chaine "toto"

    Ensuite il suffit de creer une requete dans le fichier toto.php puis de parser cette requète avec javascript. Enfin moi je fais comme ça
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  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
    Repensez 5min à ce que vous venez de dire. Imaginez un monde où les navigateurs de vos visiteurs peuvent accéder directement à la base de données. N'y aurait-il pas un léger souci au niveau de la sécurité et de la confidentialité ?

    Une solution qui consisterait à faire passer des requêtes SQL entre JavaScript et PHP qui se chargerait de les exécuter est une très mauvaise idée - si je dis ça c'est parce que je l'ai vu...
    Votre application doit exposer un web-service sécurisé (avec des transferts d'information en JSon par exemple) pour ces traitements.

  9. #9
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Il suffit que le fichier toto.php dans lequel la requète s'execute ne soit pas du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_querry("SELECT * FROM $Table WHERE $condition")
    Mais une execution bien spécifique pour chaque cas, ainsi, il n'y a pas de problème de sécurité
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ska_root Voir le message
    Ajax est ton seul ami... : http://ajax.developpez.com/cours/

  11. #11
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Citation Envoyé par skeud Voir le message
    Ou comment casser les espoir d'un développeur
    C'est plutôt sur la terminologie que j'ai été un peu cassant, mais notons tout de même que j'avais fournit un lien vers une documentation sur AJAX

  12. #12
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    if(xhr_object.readyState == 4)
    return(xhr_object.responseText);
    else
    return(false);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return(xhr_object.responseText);
    seulement suffit quand tu travailles en mode synchrone car il attend le readyState==4 pour continuer l’exécution de l'instruction qui le suive. Ce que tu dois gérér c'est le xhr_object.status pour voir s'il n'y avait pas d'erreur (page non trouvé, erreur serveur, ...)

    A+.

  13. #13
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par ska_root Voir le message
    Ajax est ton seul ami...

    http://ajax.developpez.com/cours/

    Comment le faire avec ajax ? pourriez-vous me donner un exemple

    merci a tous pour leurs réponses

  14. #14
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par zinat Voir le message
    Comment le faire avec ajax ? pourriez-vous me donner un exemple

    merci a tous pour leurs réponses
    Lit le tutoriel, il y a d'exemple expliqué.

    A+.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/12/2011, 10h07
  2. erreur dans une requête sql dans une fonction php
    Par frboyer dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2009, 13h37
  3. Comment stocker une requête sql dans une variable ?
    Par innova dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/10/2006, 10h01
  4. Appeler une variable VB dans une requête SQL
    Par Chopper dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 12/09/2006, 14h27
  5. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29

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