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

PHP & Base de données Discussion :

Procédure stockée PHP/AJAX


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur frontend
    Inscrit en
    Octobre 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur frontend

    Informations forums :
    Inscription : Octobre 2013
    Messages : 75
    Par défaut Procédure stockée PHP/AJAX
    Bonjour à toutes et à tous,

    je bloque depuis plusieurs heures et ne trouve de solutions nulle part d'ou ma question ici. Je cherche à exécuter un procédure stockée dont le paramètre est l'item sélectionné dans un "select"; cet item est passé en POST via un requête AJAX. Lorsque je passe le paramètre en dur, la procédure se lance sans problème, par contre lorsque le paramètre est sélectionné dynamiquement impossible de récupérer mes données, voici mon code:

    Pour la partie 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
    18
    19
    <?php 
    require_once('Query.php');
    require_once('Connexion.php');
    require_once('Groupe.php');
    $groupe = new Groupe();
    if (isset($_POST['value'])){
    	$param = $_POST['value'];
            $storedProcedure = "Call listeTitresParGroupe(':groupes');";
    	$requete = $groupe->prepare($storedProcedure);
    	$requete->bindParam(':groupes', $param, PDO::PARAM_STR);
    	$requete->execute();
    	echo $_POST['name'].' -> '.$param;
    	echo '<table class="table table-hover col-lg-12">';
    	while ($resultat = $requete->fetch()){
    		echo'<tr><td class="col-md-12">'.$resultat[0].'</td></tr>';
    	}
    	echo '</table>';
    }
    ?>
    Pour la partie AJAX:

    Code javascript : 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
    var selectedText = {value: $('option:selected').text(), name: $('option:selected').text()};
    $.ajax({
    	url: './storedProcedures.php',
    	type: 'POST',
    	dataType: 'HTML',
    	mimeType : 'text/plain; charset=UTF-8',
    	data: selectedText
    })
    .done(function(data){$('#titres').html(data);})
    .fail(function() {
    	console.log("error");
    	alert('Le service est en cours de maintenance, merci de réessayer plus tard!');
    })
    .always(function() {
    	console.log("complete");
    });
    });

    Si quelqu'un a une idée, je suis preneur car je suis carrément bloqué...Merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton problème est que tu ne recupères pas $param ou que tu le recupères et que ta requête ne marche pas ensuite ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur frontend
    Inscrit en
    Octobre 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur frontend

    Informations forums :
    Inscription : Octobre 2013
    Messages : 75
    Par défaut
    Merci pour le coup de main Sabotage, en fait je récupère bien la valeur de $param mais la procédure ne se lance pas alors qu'elle se lance si je la code en dur

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Au passage faut vraiment éviter l'iso 8859-1, le standard c'est l'utf-8.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur frontend
    Inscrit en
    Octobre 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur frontend

    Informations forums :
    Inscription : Octobre 2013
    Messages : 75
    Par défaut
    Très bien, je modifie ça; un avis sur mon problème?

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    essaies ceci sans mettre entre quote le paramètre de la procedure:
    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
    <?php 
    require_once('Query.php');
    require_once('Connexion.php');
    require_once('Groupe.php');
    $groupe = new Groupe();
    if (isset($_POST['value'])){
    	$param = $_POST['value'];
            $storedProcedure = "Call listeTitresParGroupe(:groupes);";
    	$requete = $groupe->prepare($storedProcedure);
    	$requete->bindParam(':groupes', $param, PDO::PARAM_STR);
    	$requete->execute();
    	echo $_POST['name'].' -> '.$param;
    	echo '<table class="table table-hover col-lg-12">';
          var_dump( $requete->fetch() );
    	/*while ($resultat = $requete->fetch()){
    		echo'<tr><td class="col-md-12">'.$resultat[0].'</td></tr>';
    	}*/
    	echo '</table>';
    }
    ?>

Discussions similaires

  1. [SQL-Server] Exécution procédure stockée MSSQL depuis PHP
    Par Lejohnn dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/10/2008, 19h31
  2. [MySQL] Utilisation des procédures stockées PHP/MySQL
    Par flodotsoft dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/07/2008, 11h36
  3. [SQL-Server] Lancement via PHP d'une procédure stockée utilisant un DTS
    Par Fallen_Leaf dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/02/2008, 09h49
  4. Réponses: 2
    Dernier message: 01/10/2007, 08h38
  5. [PHP & MySQL 5] Procédures stockées...
    Par NeoMan dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 13/01/2006, 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