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
    je travaillais sur une application Android qui se connecte à une base de données mysql jusqu'à ce que je trouve un service gratuit pour la Coupe du Monde 2018 json
    J'ai donc décidé de l'utiliser autant que possible

    Besoins professionnels
    - MYSQL + serveur pour PHP
    - Connaissance simple de PHP
    - windev mobile
    Base de données utilisée format Mysql:

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



    Résultat finale affichera éventuellement tous les produits avec les images connectées à la base de données mysql

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



    Note: Ici, nous n'utilisons pas PHP4WD mais nous allons écrire notre propre Webservice.

    fichier de BD MYSQL utilisé avec les photos en attachement
     

    Fichiers attachés:

    • CafPos.rar
      Taille de fichier:
      686.5 KB
      Affichages:
      587
    Tags:
  2. redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    - 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));
    ?>


     
    Rodrigo Duarte, joker et suenodesign aiment ça.
  3. redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    Créez une application Android pour utiliser notre webservice :

    Créer un nouveau Projet Android sur windev mobile (la version que j'utilise est 22)
    Créer une page vierge pour l'application

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



    on Ajout une Zone Répété et un bouton


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



    les éléments ajoutés sur la zone répétés seront comme suite

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



    et le code du bouton afficher

    [windev]
    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)
    ZoneRépétéeSupprimeTout(ZR_SansNom1)
    POUR TOUT ss DE vRestVariant
    ZoneRépétéeAjouteLigne(ZR_SansNom1,ss.id,ss.description,ss.prix,Null)
    FIN
    FIN
    [/windev]
     
    karleez, joker et suenodesign aiment ça.
  4. redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    Notes:
    Après l'excution de l'application Android, toutes les informations matérielles de Table Produits apparaissent à l'exception des images

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



    Cela est dû au fait que json n'accepte pas les données BLOB

    Nous modifions le code PHP de la page Web pour nous donner un résultat de l'image
    Pour cela, nous utilisons la fonction base64_encode pour crypter l'image

    PHP:
    while($r =

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

    ($sth, MYSQL_ASSOC)) {
      $rows []=

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

    (
       'Id'  => $r["id"],
       'Description' =>

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

    ($r["Description"]),
       'Photo' =>

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

    ($r['Photo']),
       'Prix' =>$r['Prix_Unitaire']);
    }
    Pour décoder dans l'application Android, nous utilisons la fonction Décrypte avec encodeBASE64 utilisé pour encoder l'image sur le webservice

    Le code du bouton Afficher est le suivant

    [windev]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)
    ZoneRépétéeSupprimeTout(ZR_SansNom1)
    POUR TOUT ss DE vRestVariant
    ZoneRépétéeAjouteLigne(ZR_SansNom1,ss.id,ss.description,ss.prix,Décrypte(ss.photo,"",cryptNone,encodeBASE64))
    FIN
    FIN[/windev]
     
    karleez, joker et suenodesign aiment ça.
  5. redha2010

    redha2010 Active Member

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

    ANDRE3000 Member

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

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

    Cliquez pour agrandir...
    Super tutoriel mon frère tu assures grave et en quelques cliquer

    :)
    Bonjour redha2010 Est-ce possible d'ajouter des enregistrement dans la même base de donnée ? Si oui mais comment le faire?
     
    #6 ANDRE3000, Juil 16, 2018
    Dernière édition par un modérateur: Août 10, 2018
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    oui , tu peut ajouter des données dans la base
    tu creera une page PHP qui va faire l'insertion des données et tu utilise cette page dans ton
    application mobile
     
    joker apprécie ceci.
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    Pour l'insertion des données :

    on créer une nouvelle fenêtre android

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



    on utilisera la method POST pour envoyer les données vers la page PHP
    pour cela on a besoin de la fonction HTTPCréeFormulaire
    on creer notre formulaire avec tout les champs necessaire a envoyer
    j'utilise ici ID , et la description et le prix et la photo pour example
    le code cote windev sera:

    pour le bouton de parcourir l'image:
    Code (Text):
    sRépertoireDéfaut, sFichier sont des chaînes
    sRépertoireDéfaut = ComplèteRep(fRepExe())
    sFichier = AlbumSélecteur(albumImage)
    SI sFichier <> "" ALORS
    IMG_SansNom1 = sFichier
    FIN
    et pour le bouton SEND

    Code (Text):
    HTTPCréeFormulaire("FORM")
    HTTPAjouteParamètre("FORM", "id", SAI_ID)
    HTTPAjouteParamètre("FORM", "desc", SAI_Desc)
    HTTPAjouteParamètre("FORM", "prix", Val(SAI_PRIX))
    HTTPAjouteFichier("FORM", "image", IMG_SansNom1)
    maReq est un restRequête
    maRep est un restRéponse
    maReq.URL="[URL]http://127.0.0.1/cafpos/Add_data.php[/URL]"
    maRep=HTTPEnvoieFormulaire("FORM", maReq)
    Info( AnsiVersUnicode( maRep.Contenu))
     
    on voit ici dans le code que on communique avec la page Add_data.php

    coté PHP on ecrit notre page

    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;
                    }
                 
    $ID =$_POST['id'];
    $Desc =$_POST['desc'];
    $Prix =$_POST['prix'];
    $image =

    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!

    ($_FILES['image']['tmp_name']));

    $query="Insert into Produits (id,Description,Prix_Unitaire,photo) VALUES ('$ID','$Desc','$Prix','$image')";
    if (!

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

    ($query)) {
        echo "Erreur! ";
    }
    ?>
    Remarque:
    l'insertion aura des erreur la deuxieme fois car notre table produits a un clé primaire unique barcode
    donc il faut ajouter du valeur pour barcode aussi :)
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
     
    aminej76 apprécie ceci.
  • selig

    selig New Member

    Inscrit:
    Juin 29, 2018
    Messages:
    1
    J'aime reçus:
    3
    Bonjour,

    Attention quand même en PHP, mysql_query ne doit plus être utilisé. ( version PHP> 5.5); d'alleurs mieux vaut passer en PHP 7.
    Il faut soit passer par mysqli soit en PDO.

    Perso, pour le faire via windev et windev mobile, j'utilise une class database, une pour l'insertion et un fichier d appel .
    D'une c'est plus sécurisé car le fichier d appel ne fait que vérifier les variables en post, pour plus de sécurité et en même temps vérifie si la demande est bien autorisée.

    PHP:
    //Class DB  connection à la bdd;
    class Database
    {  
       private $host = "localhost";
       private $db_name = "xxx";
       private $username = "xxxx";
       private $password = "xxxxx";
        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;
        }
    }

    //Exemple class produit
    require_once(__DIR__.'/../../dbconfig.php');


    class Product
    {  

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

    public function Add($id,$Description,$Prix_Unitaire,$photo){
            try
            {
                $stmt = $this->conn->prepare('INSERT INTO products(id,Description,Prix_Unitaire,photo)
                                            VALUES(:id,:Description,:Prix_Unitaire,:photo);
                    $stmt->bindParam('
    :id',$id);
                $stmt->bindParam('
    :Description',$Description);
                $stmt->bindParam('
    :Prix_Unitaire',$Prix_Unitaire);
                $stmt->bindParam('
    :photo',$photo);
                if($stmt->execute()){
                return true;
                }
                return false;
            }
            catch(PDOException $e)
            {
                echo $e->getMessage();
            }                  
               
        }
    ....
    }
     
    ouali159, redha2010 et suenodesign aiment ça.
  • redha2010

    redha2010 Active Member

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

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


    j'utilise pas bcp php , le tuto était juste pour profiter du json avec des outils gratuits
    et par suite le tuto a évolue rapidement a une autre étape d'insertion des données
    Merci encore pour +
     
    suenodesign et ANDRE3000 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!

    Merci

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


    j'utilise pas bcp php , le tuto était juste pour profiter du json avec des outils gratuits
    et par suite le tuto a évolue rapidement a une autre étape d'insertion des données
    Merci encore pour +
    Cliquez pour agrandir...
    Merci redha2010 pour ce super tutoriel C'est très génial la tu confirme sincèrement

    :)
    Bonjour à tous dit moi redha2010 Est-ce possible d'avoir une page de recherche histoire de rechercher les éléments dans la base de donnée depuis windev? Merci encore aide que tu apporte à la communauté de fekwx.com
     
    #12 ANDRE3000, Juil 21, 2018
    Dernière édition par un modérateur: Août 10, 2018
  • 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 à tous dit moi redha2010 Est-ce possible d'avoir une page de recherche histoire de rechercher les éléments dans la base de donnée depuis windev? Merci encore aide que tu apporte à la communauté de fekwx.com
    Cliquez pour agrandir...
    oui par la mémé méthode de lister les produits dans la page php , on remplace la requête qui ne donne tout les produits par une autre requête paramétré selon notre recherche
    le parametre on peut recuperer notre parametre par par la fonction GET

    PHP:
    $P =$_GET['P'];
    et la requete sera
    "SELECT * FROM Produits WHERE id= $P"

    et l'addresse de ton url sera : ...../recherche.php?p=<numero a recherche>
     
    #13 redha2010, Juil 28, 2018
    Dernière édition: Juil 28, 2018
    ANDRE3000 apprécie ceci.
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,882
    J'aime reçus:
    1,532

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

    et l'addresse de ton url sera : ...../recherche.php?p=<numero a recherche>
    Cliquez pour agrandir...
    Attention, ne peut il pas y avoir une faille par manipulation d'URL ici ?
     
  • 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!

    oui par la mémé méthode de lister les produits dans la page php , on remplace la requête qui ne donne tout les produits par une autre requête paramétré selon notre recherche
    le parametre on peut recuperer notre parametre par par la fonction GET

    PHP:
    $P =$_GET['P'];
    et la requete sera
    "SELECT * FROM Produits WHERE id= $P"

    et l'addresse de ton url sera : ...../recherche.php?p=<numero a recherche>
    Cliquez pour agrandir...
    Personnellement je m'etrise pas php mais un petit tutoriel de ta part sera la bien venue comme tu sais très bien le faire. 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!

    Attention, ne peut il pas y avoir une faille par manipulation d'URL ici ?
    Cliquez pour agrandir...
    oui on peut dire , mais c'est une lecture de données seulement
    on peut utiliser la méthode POST en envoyant le variable de recherche par HTTPAjouteParamètre
     
  • 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!

    Personnellement je m'etrise pas php mais un petit tutoriel de ta part sera la bien venue comme tu sais très bien le faire. Merci d'avance
    Cliquez pour agrandir...
    moi non plus :)
    c'est juste une petite modification sur la page produits.php ,on ajoutons le variable a rechercher et modification du requete avec un clause WHERE
    c'est tout
     
    ANDRE3000 apprécie ceci.
  • 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!

    moi non plus :)
    c'est juste une petite modification sur la page produits.php ,on ajoutons le variable a rechercher et modification du requete avec un clause WHERE
    c'est tout
    Cliquez pour agrandir...
    En images c'est plus simple

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

    En images c'est plus simple
    Cliquez pour agrandir...
    Un petit tutoriel de ta part
     
    #18 ANDRE3000, Juil 28, 2018
    Dernière édition par un modérateur: Août 9, 2018
  • redha2010

    redha2010 Active Member

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

    on un champ saisie "sai_rech"

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




    le code du bouton recherche:

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



    et la page recherche.php

    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;
                    }
    $id = $_POST['id'];
    $sth =

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

    ("SELECT * from Produits WHERE id='$id'");
    $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 []=

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

    (
       'Id'  => $r["id"],
       'Description' =>

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

    ($r["Description"]),
       'Photo' =>

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

    ($r['Photo']),
       'Prix' =>$r['Prix_Unitaire']);
    }

    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));

    ?>
     
    suenodesign et ANDRE3000 aiment ça.
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    mise en place du PDO suggestion de

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


    fichier dbconfig.php

    PHP:
    <?php
    //Class DB  connection à la bdd;
    class Database
    {
       private $host = "localhost";
       private $db_name = "cafpos";
       private $username = "root";
       private $password = "";
       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 Product
    {  

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

    public function Add($id,$Description,$Prix_Unitaire,$photo){
            try
            {
                $stmt = $this->conn->prepare('INSERT INTO produits(id,Description,Prix_Unitaire,photo)
                                            VALUES(:id,:Description,:Prix_Unitaire,:photo)'
    );
                $stmt->bindParam(':id',$id);
                $stmt->bindParam(':Description',$Description);
                $stmt->bindParam(':Prix_Unitaire',$Prix_Unitaire);
                $stmt->bindParam(':photo',$photo);
                if($stmt->execute()){
                return true;
                }
                return false;
            }
            catch(PDOException $e)
            {
                echo $e->getMessage();
            }                  
             
        }

    public function List_Produits(){
       
         $stmt = $this->conn->prepare('SELECT * FROM produits');
         $stmt->execute();
         $rows =

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

    ();
       
         while($r = $stmt->fetch()) {
         $rows []=

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

    (
         'Id'  => $r["id"],
         'Description' =>

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

    ($r["Description"]),
         'Photo' =>

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

    ($r['Photo']),
         'Prix' =>$r['Prix_Unitaire']);
          }

         

    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));

    }
    public function Recherche_Produit($id){
         $stmt = $this->conn->prepare('SELECT * FROM produits WHERE id ='$id'');
         $stmt->execute();
         $rows =

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

    ();
       
         while($r = $stmt->fetch()) {
         $rows []=

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

    (
         'Id'  => $r["id"],
         'Description' =>

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

    ($r["Description"]),
         'Photo' =>

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

    ($r['Photo']),
         'Prix' =>$r['Prix_Unitaire']);
          }

         

    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));
       
       
    }
    }


    ?>
    donc pour utiliser la class Product pour lister nos produits on ecrit juste ce code dans une page

    PHP:
    <?php

    require_once(__DIR__.'/dbconfig.php');

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

    ?>
    bon dev
     
    perceval et suenodesign aiment ça.
  • Partager cette page

    Chargement...