1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Créer un Web service Json et Utiliser dans une Application Android

Discussion dans 'Windev Mobile' créé par redha2010, Juil 10, 2018.

  1. redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    J'aimerais faire la recherche sur l'article et non pas sur id de l'article
    Cliquez pour agrandir...
    donc la requete de rechereche par id diviendra comme cela:
    "SELECT * from Produits WHERE Description LIKE '$id'%"
    tu devra la changer dans la ta page php de recherche
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    Modification du webservice pour utiliser l'url des images aprés l'upload

    pour cela on va ajouter une rubriquee dans notre table produits pour l'url ou bien modifier le type de
    la rubrique photo en texte
    pour moi j'ai ajouter Url_pic

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    dans notre fichier dbconfigue.php soit on ajoute une autre fonction pour l'ajout du produit soit on modifier la fonction Add

    Code (Text):
    public function Add_URL($id,$Description,$Prix_Unitaire,$url){
            try
            {
                $stmt = $this->conn->prepare('INSERT INTO produits(id,Description,Prix_Unitaire,Url_pic)
                                            VALUES(:id,:Description,:Prix_Unitaire,:url)');
                $stmt->bindParam(':id',$id);
                $stmt->bindParam(':Description',$Description);
                $stmt->bindParam(':Prix_Unitaire',$Prix_Unitaire);
                $stmt->bindParam(':url',$url);
                if($stmt->execute()){
                return true;
                }
                return false;
            }
            catch(PDOException $e)
            {
                echo $e->getMessage();
            }                  
             
        }
    maintenant pour upload notre image on a besoin d'enregistrer notre fichier sur le serveur dans un repertoire par ex: upload pour cela on utilise la fonction php move_uploaded_file

    on créer notre page de webservice responsable de l'upload et l'enregistement de l'url

    page AddProdouit.php

    Code (Text):
    <?php
    require_once('/dbconfig.php');
    $produitAdd = new Product();
    $ID =$_POST['id'];
    $Desc =$_POST['desc'];
    $Prix =$_POST['prix'];
    $tmp_name= $_FILES["image"]["tmp_name"];
    $base_name = basename( $_FILES["image"]["name"]);
    $UploadFolder = 'upload/';
    move_uploaded_file($tmp_name,$UploadFolder.$base_name);
    $produitAdd->Add_URL($ID,$Desc,$Prix,$base_name);

    ?>
    pour l'affichage du produit par le webservice on a pas besoin maintenant du codage d'image on affiche directement l'url pour la metre dans un varible et sur notre application android on affiche la photo directement du serveur

    Code (Text):
    while($r = mysql_fetch_array($sth, MYSQL_ASSOC)) {
      $rows []=array(
       'Id'  => $r["id"],
       'Description' => $r["Description"],
       'Photo' => $r['Url_pic'],
       'Prix' =>$r['Prix_Unitaire']);
    }
    cote android le code de l'affichage du des produits sera :

    Code (Windev):
    maReq est un restRequête
    maRep est un restRéponse
    vRestVariant est un Variant
    maReq.URL=WSRURL+"/produits.php"
    maRep=RESTEnvoie(maReq)
    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ALORS
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (errComplet))
    SINON
        vRestVariant=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (maRep.Contenu)
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (ZR_SansNom1)
        POUR TOUT ss DE vRestVariant
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (ZR_SansNom1,ss.id,ss.description,ss.prix,WSRURL"+ss.photo)
        FIN
    FIN
     
    michel, suenodesign et Ezekiel056 aiment ça.
  • ANDRE3000

    ANDRE3000 Member

    Inscrit:
    Juin 5, 2018
    Messages:
    50
    J'aime reçus:
    3

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Modification du webservice pour utiliser l'url des images aprés l'upload

    pour cela on va ajouter une rubriquee dans notre table produits pour l'url ou bien modifier le type de
    la rubrique photo en texte
    pour moi j'ai ajouter Url_pic

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    dans notre fichier dbconfigue.php soit on ajoute une autre fonction pour l'ajout du produit soit on modifier la fonction Add

    Code (Text):
    public function Add_URL($id,$Description,$Prix_Unitaire,$url){
            try
            {
                $stmt = $this->conn->prepare('INSERT INTO produits(id,Description,Prix_Unitaire,Url_pic)
                                            VALUES(:id,:Description,:Prix_Unitaire,:url)');
                $stmt->bindParam(':id',$id);
                $stmt->bindParam(':Description',$Description);
                $stmt->bindParam(':Prix_Unitaire',$Prix_Unitaire);
                $stmt->bindParam(':url',$url);
                if($stmt->execute()){
                return true;
                }
                return false;
            }
            catch(PDOException $e)
            {
                echo $e->getMessage();
            }                
           
        }
    maintenant pour upload notre image on a besoin d'enregistrer notre fichier sur le serveur dans un repertoire par ex: upload pour cela on utilise la fonction php move_uploaded_file

    on créer notre page de webservice responsable de l'upload et l'enregistement de l'url

    page AddProdouit.php

    Code (Text):
    <?php
    require_once('/dbconfig.php');
    $produitAdd = new Product();
    $ID =$_POST['id'];
    $Desc =$_POST['desc'];
    $Prix =$_POST['prix'];
    $tmp_name= $_FILES["image"]["tmp_name"];
    $base_name = basename( $_FILES["image"]["name"]);
    $UploadFolder = 'upload/';
    move_uploaded_file($tmp_name,$UploadFolder.$base_name);
    $produitAdd->Add_URL($ID,$Desc,$Prix,$base_name);

    ?>
    pour l'affichage du produit par le webservice on a pas besoin maintenant du codage d'image on affiche directement l'url pour la metre dans un varible et sur notre application android on affiche la photo directement du serveur

    Code (Text):
    while($r = mysql_fetch_array($sth, MYSQL_ASSOC)) {
      $rows []=array(
       'Id'  => $r["id"],
       'Description' => $r["Description"],
       'Photo' => $r['Url_pic'],
       'Prix' =>$r['Prix_Unitaire']);
    }
    cote android le code de l'affichage du des produits sera :

    Code (Windev):
    maReq est un restRequête
    maRep est un restRéponse
    vRestVariant est un Variant
    maReq.URL=WSRURL+"/produits.php"
    maRep=RESTEnvoie(maReq)
    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ALORS
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (errComplet))
    SINON
        vRestVariant=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (maRep.Contenu)
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (ZR_SansNom1)
        POUR TOUT ss DE vRestVariant
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (ZR_SansNom1,ss.id,ss.description,ss.prix,WSRURL"+ss.photo)
        FIN
    FIN
    Cliquez pour agrandir...
    Tu peux le faire en tutoriel vidéo pour nous ce sera plus intuitif merci d'avance
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Tu peux le faire en tutoriel vidéo pour nous ce sera plus intuitif merci d'avance
    Cliquez pour agrandir...
     
    charlie, suenodesign et ANDRE3000 aiment ça.
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Modification du webservice pour utiliser l'url des images aprés l'upload

    pour cela on va ajouter une rubriquee dans notre table produits pour l'url ou bien modifier le type de
    la rubrique photo en texte
    pour moi j'ai ajouter Url_pic

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    dans notre fichier dbconfigue.php soit on ajoute une autre fonction pour l'ajout du produit soit on modifier la fonction Add

    Code (Text):
    public function Add_URL($id,$Description,$Prix_Unitaire,$url){
            try
            {
                $stmt = $this->conn->prepare('INSERT INTO produits(id,Description,Prix_Unitaire,Url_pic)
                                            VALUES(:id,:Description,:Prix_Unitaire,:url)');
                $stmt->bindParam(':id',$id);
                $stmt->bindParam(':Description',$Description);
                $stmt->bindParam(':Prix_Unitaire',$Prix_Unitaire);
                $stmt->bindParam(':url',$url);
                if($stmt->execute()){
                return true;
                }
                return false;
            }
            catch(PDOException $e)
            {
                echo $e->getMessage();
            }                
             
        }
    maintenant pour upload notre image on a besoin d'enregistrer notre fichier sur le serveur dans un repertoire par ex: upload pour cela on utilise la fonction php move_uploaded_file

    on créer notre page de webservice responsable de l'upload et l'enregistement de l'url

    page AddProdouit.php

    Code (Text):
    <?php
    require_once('/dbconfig.php');
    $produitAdd = new Product();
    $ID =$_POST['id'];
    $Desc =$_POST['desc'];
    $Prix =$_POST['prix'];
    $tmp_name= $_FILES["image"]["tmp_name"];
    $base_name = basename( $_FILES["image"]["name"]);
    $UploadFolder = 'upload/';
    move_uploaded_file($tmp_name,$UploadFolder.$base_name);
    $produitAdd->Add_URL($ID,$Desc,$Prix,$base_name);

    ?>
    pour l'affichage du produit par le webservice on a pas besoin maintenant du codage d'image on affiche directement l'url pour la metre dans un varible et sur notre application android on affiche la photo directement du serveur

    Code (Text):
    while($r = mysql_fetch_array($sth, MYSQL_ASSOC)) {
      $rows []=array(
       'Id'  => $r["id"],
       'Description' => $r["Description"],
       'Photo' => $r['Url_pic'],
       'Prix' =>$r['Prix_Unitaire']);
    }
    cote android le code de l'affichage du des produits sera :

    Code (Windev):
    maReq est un restRequête
    maRep est un restRéponse
    vRestVariant est un Variant
    maReq.URL=WSRURL+"/produits.php"
    maRep=RESTEnvoie(maReq)
    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ALORS
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (errComplet))
    SINON
        vRestVariant=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (maRep.Contenu)
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (ZR_SansNom1)
        POUR TOUT ss DE vRestVariant
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (ZR_SansNom1,ss.id,ss.description,ss.prix,WSRURL"+ss.photo)
        FIN
    FIN
    Cliquez pour agrandir...
    Bonjour à lire ton post c'est génial, il devrait être mailleur si tu le faisais en entier, il est vrai tu as fais une vidéo que je prendrai le temps d visionner.
    Mais j'ai une question dans ta base de données il existe la rubrique photo de type image (Mémo) et l'Url_pic de type longtext. La rubrique mémo est-elle encore nécessaire dans ton fichier ?
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour à lire ton post c'est génial, il devrait être mailleur si tu le faisais en entier, il est vrai tu as fais une vidéo que je prendrai le temps d visionner.
    Mais j'ai une question dans ta base de données il existe la rubrique photo de type image (Mémo) et l'Url_pic de type longtext. La rubrique mémo est-elle encore nécessaire dans ton fichier ?
    Cliquez pour agrandir...
    non , puisque on fait upload nos images sur le serveur pas besoin de garder la rubrique mémo
    je disais qu'on peut directement changer la rubrique photo en texte , mais moi j'ai créer un autre rubrique pour faire la différence seulement
     
  • ANDRE3000

    ANDRE3000 Member

    Inscrit:
    Juin 5, 2018
    Messages:
    50
    J'aime reçus:
    3

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    - Préparation de la base de données:
    Nous décompressons le fichier joint cafpos.rar dans le dossier des bases de données mysql, généralement situé à: binaires \ mysql \ data en fonction du programme que vous utilisez comme serveur mysql
    Nous nous assurons seulement quand vous décompressez qu'il n'y a aucun autre dossier dans le dossier de cafpos, de sorte que nous puissions nous connecter correctement à la base de données
    Si tout allait bien nous aurions Une base de données appelée cafpos avec la table Produits

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    - Connecter à la base de données via la page PHP:

    Créez une nouvelle page dans le dossier www ou localweb du serveur PHP installé sur votre machine
    le code pour connecter a notre base de données sera:

    PHP:
    <?php
    $bdd_name='cafPos';
    $serveur='localhost';
    $user='root';
    $password='';
    //connexion mysql
    $connexion=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ($serveur,$user,$password);
    //verifier la reussite de la connexion
    if(!$connexion)
    print"echec de la connexion";

    //selectionner la base de donnÚes
    $resultat=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ($bdd_name,$connexion);
    if(!$resultat)
                   {
                     print"echec de la selection";
                     return;
    }
    ?>
    on test la page créer sur le serveur PHP pour confirmer
    Si la page est blanche, cela signifie qu'il n'y a pas d'erreur et que la connexion à la base de données a réussi

    on ajout du code à la page générée pour lister les données de la table Produits

    PHP:
    $sth =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("SELECT * from Produits");
    $rows =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ();
    while($r =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ($sth, MYSQL_ASSOC)) {
      $rows []= $r ;
    }

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ($sth);

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ($rows));
    resultat du page PHP créer sera

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    ici j'utilise une extension pour afficher les resultats sur la page web (json viewer extension) de cette maniéré


    aprés la modification du code de la page PHP sera:

    PHP:
    <?php
    $bdd_name='cafPos';
    $serveur='localhost';
    $user='root';
    $password='';
    //connexion mysql
    $connexion=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ($serveur,$user,$password);
    //verifier la reussite de la connexion
    if(!$connexion)
    print"echec de la connexion";

    //selectionner la base de donnÚes
    $resultat=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ($bdd_name,$connexion);
    if(!$resultat)
                   {
                     print"echec de la selection";
                      return;
                    }
    $sth =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("SELECT * from Produits");
    $rows =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ();
    while($r =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ($sth, MYSQL_ASSOC)) {
      $rows []= $r ;
    }

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ($sth);

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ($rows));
    ?>
    Cliquez pour agrandir...
    j'ai un souci avec ce code car je suis entrain de refaire l'exemple mais rien? quelqu'un peut me donné une aide.
    je avec les captures suivante
     

    Fichiers attachés:

  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    j'ai un souci avec ce code car je suis entrain de refaire l'exemple mais rien? quelqu'un peut me donné une aide.
    je avec les captures suivante
    Cliquez pour agrandir...
    ton base de données (CafPos) n'est pas sur le serveur Mysql
     
  • ANDRE3000

    ANDRE3000 Member

    Inscrit:
    Juin 5, 2018
    Messages:
    50
    J'aime reçus:
    3

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ton base de données (CafPos) n'est pas sur le serveur Mysql
    Cliquez pour agrandir...
    pourtant j'ai bien decompressé le fichier comme tu a indiquer dans le C:\wamp\bin\mysql\mysql5.6.17\data
     

    Fichiers attachés:

  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    essaye de redémarrer le service de mysql dans Wampserver
     
  • ANDRE3000

    ANDRE3000 Member

    Inscrit:
    Juin 5, 2018
    Messages:
    50
    J'aime reçus:
    3
    j'ai essayer de créer une autre BD nomé test mais toujours rien voici le message que je reçois en en capture

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    essaye de redémarrer le service de mysql dans Wampserver
    Cliquez pour agrandir...
    toujour le meme resutats
     

    Fichiers attachés:

    #51 ANDRE3000, Août 28, 2018
    Dernière édition par un modérateur: Août 28, 2018
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    tu doit corriger ton code dans produits.php il ya 3 erreurs (mysql_connect a la place de mysqli_connect)
    essaye de travailler avec dbconfig.php
    le code de ton page produits.php sera:

    Code (Text):
    <?php

    require_once('/dbconfig.php');

    $produits = new Product();
    $produits->List_Produits();

    ?>
     

    Fichiers attachés:

    Man et suenodesign aiment ça.
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Bonjour,
    J'ai suivi avec attention vos messages et je m'en suis inspiré pour un site en webdev.
    L'appel et la récupération des informations fonctionnent parfaitement sous le code navigateur.
    Vu que vous êtes super balaise côté json savez vous comment récupérer des données Json mais ce coup-ci avec sdu code serveur (et non plus navigateur)?
    J'ai fait des tas de test mais je n'y arrive pas.
    Merci pour votre aide.
     
    ANDRE3000 apprécie ceci.
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    je vois pas l’intérêt ici de lire des données json cotés serveur ?
    on utilise json ou xml pour représenter nos informations sous forme structurées lisibles
    donc pour moi c'est le résultat qui m’intéresse pour récupérer les informations !
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    Il a peut être besoin que cote serveur, pour un traitement , d'avoir des infos structure lisible.
    après c'est sur qu'avec plus de précisions sur l'objectif et sur les infos a passer ca pemettrais de donner des réponse plus facilement.
     
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Bonjour,

    Merci Redha2010 pour ton retour.
    En effet, j'ai laissé tombé l'utilisation JSON sous webdev.
    J'ai créé mes tables sous webdev via l'analyse et j'ai fait un Hchangeconnexion pour taper sur mes tables Mysql et cela fonctionne bien.

    Tu dis que l'utilisation de Json est de lire des informations sous forme structurée.
    Alors j'ai du mal à comprendre pourquoi utiliser JSON plutôt qu'utiliser (comme moi) 'analyse sous windev puis un hchangeconnexion ?
    Tu peux m'éclaircir ce point ?

    J'ai créé l'application sous webdev quiutilise des données Mysql et je vais créer un application sous windev mobile qui lira ces données et la du coup je me pose la question de "Comment attaquer la Bdd Mysql". Dois-je utiliser JSON ?
    Merci pour vos retours.

    Serge
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour,

    Merci Redha2010 pour ton retour.
    En effet, j'ai laissé tombé l'utilisation JSON sous webdev.
    J'ai créé mes tables sous webdev via l'analyse et j'ai fait un Hchangeconnexion pour taper sur mes tables Mysql et cela fonctionne bien.

    Tu dis que l'utilisation de Json est de lire des informations sous forme structurée.
    Alors j'ai du mal à comprendre pourquoi utiliser JSON plutôt qu'utiliser (comme moi) 'analyse sous windev puis un hchangeconnexion ?
    Tu peux m'éclaircir ce point ?

    J'ai créé l'application sous webdev quiutilise des données Mysql et je vais créer un application sous windev mobile qui lira ces données et la du coup je me pose la question de "Comment attaquer la Bdd Mysql". Dois-je utiliser JSON ?
    Merci pour vos retours.

    Serge
    Cliquez pour agrandir...
    Bonjour

    on doit préciser ici que le probleme est coté windev mobile et non pas windev
    donc la connexion direct avec mysql est impossible donc pas de hchangeconnexion :)

    l'utilisation de json ici c'est pour facilité le travaille avec des produits gratuits
    tu peut aussi utiliser la méthode proposée par pcsoft sur le vidéo

     
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Salut Redha2010,
    Le problème sur le vidéo de PCSoft c'est qu'il faut installer un serveur d'application.
    Donc je pense que le mieux est en effet d'utiliser votre fonction Json pour lire les données.

    J'ai bien suivi les posts ici mais WindevMobile plante et me dit que "Vous avez appelé la fonction JSONVersVariant. Format JSON invalide".

    Voila ce que j'ai fait :
    Fichier LRdv.php :
    <?php
    require_once('./dbconfig.php');
    $LRDV = new RDV();
    $ID =$_GET['id_user'];
    $LRDV->Liste_RDV($ID);
    ?>

    Fichier dbconfig.php :
    <?php
    //Class DB connection à la bdd;
    class Database
    {
    private $host = "localhost";
    private $db_name = "xinstall";
    private $username = "sbernardini";
    private $password = "test";
    public $conn;
    public function dbConnection()
    {

    $this->conn = null;
    try
    {
    $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
    $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch(PDOException $exception)
    {
    echo "Connection error: " . $exception->getMessage();
    }

    return $this->conn;
    }
    }

    class RDV
    {
    private $conn;
    public function __construct()
    {
    $database = new Database();
    $db = $database->dbConnection();
    $this->conn = $db;
    }


    // recherche RDV
    public function Liste_RDV($id){
    $stmt = $this->conn->prepare('SELECT T1.IDTypeInter,T1.Contenu_RDV,T1.DateDeb_RDV,T1.DateFin_RDV,T2.Nom_Clients,T2.Prenom_Clients,T2.Ad1_Clients,T2.Ad2_Clients,T2.CP_Clients,T2.Ville_Clients,T2.TelFixe_Clients,T2.TelMobile_Clients,T3.IDTypeInter,T3.Libelle_Inter
    FROM LRDV T1, LClients T2, LTypeInter T3 WHERE T1.ID_Clients=T2.ID_Clients and T1.IDTypeInter = T3.IDTypeInter and T1.Categ_RDV =:id');

    $stmt->bindParam(':id',$id);
    $stmt->execute();
    $rows = array();

    while($r = $stmt->fetch()) {
    $rows []=array(
    'IDTypeInter' => utf8_encode($r["IDTypeInter"]),
    'Contenu_RDV' => utf8_encode($r["Contenu_RDV"]),
    'DateDeb_RDV' => utf8_encode($r['DateDeb_RDV']),
    'DateFin_RDV' =>utf8_encode($r['DateFin_RDV']),
    'Nom_Clients' =>utf8_encode($r['Nom_Clients']),
    'Prenom_Clients' =>utf8_encode($r['Prenom_Clients']),
    'Ad1_Clients' =>utf8_encode($r['Ad1_Clients']),
    'Ad2_Clients' =>utf8_encode($r['Ad2_Clients']),
    'CP_Clients' =>utf8_encode($r['CP_Clients']),
    'Ville_Clients' =>utf8_encode($r['Ville_Clients']),
    'TelFixe_Clients' =>utf8_encode($r['TelFixe_Clients']),
    'TelMobile_Clients' =>utf8_encode($r['TelMobile_Clients']),
    'IDTypeInter' =>utf8_encode($r['IDTypeInter']),
    'Libelle_Inter' =>utf8_encode($r['Libelle_Inter'])
    );
    }
    echo(json_encode($rows));
    }

    }

    ?>

    Sous Chrome, je vais à l'adresse

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    et j'ai bien des données qui s'affichent, dont voilà :
    [{"IDTypeInter":"1","Contenu_RDV":"test rdv depannage","DateDeb_RDV":"2019-04-09 08:00:00","DateFin_RDV":"2019-04-09 09:00:00","Nom_Clients":"Fran\u00e7ois","Prenom_Clients":"Dupont","Ad1_Clients":"3 rue des Teinturiers","Ad2_Clients":"","CP_Clients":"59650","Ville_Clients":"Villeneuve d'Ascq","TelFixe_Clients":"0320098765","TelMobile_Clients":"","Libelle_Inter":"Entretien"},{"IDTypeInter":"2","Contenu_RDV":"coucou","DateDeb_RDV":"2019-04-09 10:00:00","DateFin_RDV":"2019-04-09 11:00:00","Nom_Clients":"Fran\u00e7ois","Prenom_Clients":"Dupont","Ad1_Clients":"3 rue des Teinturiers","Ad2_Clients":"","CP_Clients":"59650","Ville_Clients":"Villeneuve d'Ascq","TelFixe_Clients":"0320098765","TelMobile_Clients":"","Libelle_Inter":"D\u00e9pannage"}]

    Sous windev mobile, j'ai mis le code suivant sur le clicl d'un bouton :
    maReq est un restRequÍte
    maRep est un restRÈponse
    vRestVariant est un Variant
    maReq.URL="

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    "
    maRep=RESTEnvoie(maReq)
    SI ErreurDÈtectÈe ALORS
    Erreur(ErreurInfo(errComplet))
    SINON
    vRestVariant=JSONVersVariant(maRep.Contenu)
    FIN

    Et lors du lancement, j'ai l'erreur "Vous avez appelé la fonction JSONVersVariant. Format JSON invalide"

    Peux-tu me dire quel est le problème avec ces informations ?

    Par avance merci pour ton aide.
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    pourquoi tu n'utilise pas un serialise
    tu declare une structure :

    STJSON est une structure
    IDTypeInter est une chaîne
    Contenu_RDV est une chaîne
    DateDeb_RDV est une chaîne
    DateFin_RDV est une chaîne
    Nom_Clients est une chaîne
    Prenom_Clients est une chaîne
    Ad1_Clients est une chaîne
    Ad2_Clients est une chaîne
    CP_Clients est une chaîne
    Ville_Clients est une chaîne
    TelFixe_Clients est une chaîne
    TelMobile_Clients est une chaîne
    Libelle_Inter est une chaîne
    FIN

    et apres tu peux serialisé.
    pour voir si ca marche mieux.

    et tu a trace la valeur renvoyer par ton maRep.Contenu ?
     
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Bonjour Khaliassas,
    voila le contenu de maRep.contenu:

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  • Partager cette page

    Chargement...