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 :

Afficher un champ de bdd dans une classe JS avec PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 36
    Par défaut Afficher un champ de bdd dans une classe JS avec PHP
    Bonjour,

    J'ai une classe Slider.js qui est comme son nom l'indique un slider, les images y sont afficher comme ceci :

    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
     
     
    afficherSlide() {
            this.slide[0] = {
                'images': 'assets/img/5.jpg', 
            }
            this.slide[1] = {
                'images': 'assets/img/7.jpg',
            }
            this.slide[2] = {
                'images': 'assets/img/1.jpg',
            }
            this.slide[3] = {
                'images': 'assets/img/4.jpg',
            }
        }
    J'aimerais mettre le path de mes images dans ma bdd et donc afficher le champ de ma bdd avec PHP afin de pouvoir modifier mes images dans le dashboard de mon site.
    Auriez vous une solution pour moi ? Car je suis un peu perdu ! ^^

    Merci d'avance !

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    où utilisez vous ce code actuellement ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 36
    Par défaut
    Ce code est dans une classe javascript, et le tout est dans un systeme MVC

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 36
    Par défaut
    J'ai pour l'instant fait quelque chose comme ça :

    mon model :

    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
     
     
    public function getSliderImage1()
        {
            $db = $this->dbConnect();
            $req = $db->prepare('SELECT id, chemin FROM slider WHERE id = 1');
            $req->execute();
     
            return $req;
        }
     
        public function getSliderImage2()
        {
            $db = $this->dbConnect();
            $req = $db->prepare('SELECT id, chemin FROM slider WHERE id = 2');
            $req->execute();
     
            return $req;
        }
     
        public function getSliderImage3()
        {
            $db = $this->dbConnect();
            $req = $db->prepare('SELECT id, chemin FROM slider WHERE id = 3');
            $req->execute();
     
            return $req;
        }
     
        public function getSliderImage4()
        {
            $db = $this->dbConnect();
            $req = $db->prepare('SELECT id, chemin FROM slider WHERE id = 4');
            $req->execute();
     
            return $req;
        }
    mon controller :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public function showHome()
        {
            $textManager = new P5OC\site\Model\TextManager();
            $slide1 = $textManager->getSliderImage1();
            $slide2 = $textManager->getSliderImage2();
            $slide3 = $textManager->getSliderImage3();
            $slide4 = $textManager->getSliderImage4();
     
            require(VIEW.'home.php');
        }
    et dans mon fichier js :

    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
     
     
        afficherSlide() {
            this.slide[0] = {
                'images': "<?= $slide1['chemin'] ?>", 
            }
            this.slide[1] = {
                'images': "<?= $slide2['chemin'] ?>",
            }
            this.slide[2] = {
                'images': "<?= $slide3['chemin'] ?>",
            }
            this.slide[3] = {
                'images': "<?= $slide4['chemin'] ?>",
            }
        }
    Et donc ça ne marche pas, c'est logique mais je suis perdu ^^

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bon déjà, ne fais pas 5 fonctions pour les 5 images. Imagine un peu que tu en es 275 à afficher Ensuite, quand tu exécutes une requête, il faut récupérer ce qui t'intéresse dedans et uniquement ce qui t'intéresse (en l’occurrence le chemin)

    Par exemple, pour récupérer le chemin à partir d'un id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public function getSliderImage($id)
    {
        $db = $this->dbConnect();
        $req = $db->prepare('SELECT chemin FROM slider WHERE id = :id');
        $req->execute([':id' => $id]);
        $res = $req->fetchColumn();
     
        return $res;
    }
    à utiliser par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $slide1 = $textManager->getSliderImage(1);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    this.slide[0] = {
                'images': "<?= $slide1 ?>", 
            }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 36
    Par défaut
    Merci pour votre réponse, ça m'a aider à y voir plus clair !

    Par contre mes images ne s'affichent toujours pas sur ma page et les erreurs qui me sont retournés dans ma console sont comme ça :

    http://localhost/P5OC/site/%3C?=%20$slide2%20?%3E

    au lieu d'être le path de ma bdd...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [9.4] Afficher les valeurs null (0) dans une requête stats avec GROUP BY
    Par limix429 dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/04/2016, 09h23
  2. [2.x] récupération d'objet de la bdd dans une classe de formulaire
    Par lofomboo dans le forum Symfony
    Réponses: 1
    Dernier message: 07/01/2014, 12h59
  3. [PHP 5.3] Instance de BDD dans une classe qui cause une exception
    Par lamouche42 dans le forum Langage
    Réponses: 5
    Dernier message: 29/10/2011, 12h13
  4. [REQUETE]Afficher un champ "case à cocher" dans une requête SQL-Access
    Par Amael ROCHE dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/04/2007, 11h07

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