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

XQUERY/SGBD XML Discussion :

select/insert depuis une fonction PHP et SOAP


Sujet :

XQUERY/SGBD XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 52
    Points : 35
    Points
    35
    Par défaut select/insert depuis une fonction PHP et SOAP
    Bonjour à tous!
    alors ca fait un moment que je me prends la tête car j'ai des clients et serveurs SOAP qui fonctionnent correctement mais mon problème est que dans mon serveur SOAP, j'ai une classe qui elle contient une fonction. moi, j'aimerais que cette fonction réalise une requête sur la base de données pour récupérer de données qui seront insérés dans une table avec un insert.
    le problème est que ses requêtes ne s'exécutent pas depuis l'intérieur de la fonction. Quand j'essaye les mêmes requêtes depuis une page php ( sans passer par une fonction) elles fonctionnent correctement.

    voici un bout de ma page qui est le serveurSOAP
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <?php
    include 'connexion.inc.php';
    // La classe qui va grer les requtes SOAP
    class WSRetailer {
     
        // Méthode test
        function neworderretailer($params) 
    	{
         $peOrderitems = $params->peOrderitems;
         $peProductorid = $params->peProductorid;
         $idprod = $peOrderitems->idprod;
         $quantite = $peOrderitems->quantite;
         $peSignature=$params->peSignature;
     
    		//INSERTION DE LA COMMANDE DANS LA TABLE COMMANDES
     
    		//1.-RECUPERER LE CODE DE NOUVELLE COMMANDE DU DETAILLANT "retailerid"
     
    		$query="SELECT nextval('numcommande')";
    		$result=pg_query($db_conn,$query);
    		$numAuto = pg_fetch_result($result,0,0);
    		//on stocke la valeur que l'on retournera s'il n'y a pas d'erreur
    		$resultat = array('result' => $numAuto);
                    //$numAuto ne contient rien!
     
                    //2.- RECUPERER LA CLE PRIMAIRE DU PRODUCTEUR POUR LA CLE ETRANGERE DE LA COMMANDE
    		$query='SELECT "CODE" FROM "PRODUCTEUR" WHERE "LIBELLE"='."'toto'";
    		$result1=pg_query($db_conn,$query);
    		$Productorid = pg_fetch_result($result1,0,0);
                    //pareil pour $Productorid , il ne contient rien
     
             //je retourne les valeurs des selects mais il y a rien
             return array('result' =>$numAuto.','.$Productorid);
     
    	}
     
    }
     
    //après j'instancie la classe soapServer et je ferme la connection
    est-ce que qq aurais une idée svp?!

    merci d'avance!

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 76
    Points : 64
    Points
    64
    Par défaut
    J'ai le même problème mon topic.
    J'utilise également une classe avec une fonction qui contient une requête sql dont je retourne le résultat (apparement vide).
    J'espere que quelqu'un pourra nous éclairer.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 52
    Points : 35
    Points
    35
    Par défaut
    salut noobC,

    bon personne nous a répondu mais j'ai résolu mon problème en utilisant les fonctions pg_prepare et pg_execute. avec elles tout fonctionne correctement

    je te donne un exemple et j'espère que cela puisse t'aider!

    exemple de select:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $resultIdProduit= pg_prepare('query3','SELECT numero FROM produit WHERE code= $1');
    		$resultIdProduit = pg_execute('query3',array("$idprod"));
    		$numproduit = pg_fetch_result($resultIdProduit,0,0);
    et pour un insert:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    $resultCommande= pg_prepare('query4','INSERT INTO commande (numero, num_detaillant) VALUES ($1,$2)');
    		$resultCommande = pg_execute('query4',array($numAuto,$detaillantId));
    bonne chance!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 76
    Points : 64
    Points
    64
    Par défaut
    ok merci, je connaissais pas ces fonctions mais apparement faut utiliser PostgreSQL pour les utiliser, donc je vais pas test (sauf si on m'assure le contraire)

    edit: je viens de test mais ca à pas l'air de le faire. Perséverons!

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 52
    Points : 35
    Points
    35
    Par défaut
    ah ok, tu n'utilises pas postgreSQL? car moi oui et effectivement avec ses fonctions tout fonctionne

Discussions similaires

  1. Réponses: 8
    Dernier message: 30/06/2011, 16h11
  2. Réponses: 2
    Dernier message: 26/02/2010, 06h34
  3. Lancer une fonction php avec SELECT
    Par PlazaDel62 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/05/2008, 15h51
  4. Réponses: 41
    Dernier message: 27/08/2006, 15h17
  5. Réponses: 3
    Dernier message: 21/02/2006, 18h05

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