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

Langage PHP Discussion :

récupération value pour utilisation dans une boule while [PHP 5.6]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Coxinhell
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 16
    Par défaut récupération value pour utilisation dans une boule while
    Bonjour et merci de prendre le temps de lire mon post.

    Je souhaiterais savoir comment récupérer la value d'un élement pour l'utiliser par la suite dans une requête SQL dans ma clause Where.

    En gros je fais un outils pour lister les projets par service, j'ai donc plusieurs projets de créer par service.

    Dans ma vue j'ai :

    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
     
    <!--affichage des services-->
        while($data=$service->fetch()){
          ?>
                <h3 value="<?=$data['id'];
     
                         $_SESSION['id_service']=$data['id'];
                         print_r($_SESSION['id_service']);
                 ?>"><?=$data['wording']; ?></h3>
     
          <!--affichage des projets-->
     
              <?php
              while($donnees=$projets->fetch())
              {
                ?>
                  <h5><?=$donnees['wording']; ?></h5>
                <?php
              }
    } ?>
    Voici mon model service :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function listServiceAll()
      {
        $db = dbConnect();
     
        $wtf = $db->query('SELECT * FROM service
        ORDER BY wording ASC');
        return $wtf;
      }
    Et mon model projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function projectByService()
    {
      $db = dbConnect();
      $projets = $db->query('SELECT project.wording as wording, CONCAT(user.name, " ", user.first_name) as applicant, agency.site as agency, service.wording as service FROM project
        INNER JOIN user ON project.applicant = user.id
        INNER JOIN agency ON project.id_agency = agency.id
        INNER JOIN service ON project.id_service = service.id
        WHERE service.id='.$_SESSION['id_service'].'');
     
      return $projets;
    }
    Controller :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function afficheProjets()
    {
      $service = listServiceAll();
      $projets = projectByService();
     
      require('./view/accueil.php');
    }
    J'ai suis passer par une variable de session le problème c'est que sa ne m'affiche rien j'ai fait un print_r juste après ma première boucle sa m'affiche l'id correspondant. Mais sa écrase au fur et à mesure la valeur donc j'étais passé aussi par un $_session['id'][$iterator] que j'initialise en début et en que j'incrémente à la fin, sa me les cumuls bien sa affiche 123456 ect mais ma requête fait donc une recherche sur un $_session qui équivaut a 123456.. au lieu de 1 puis 2 puis 3 donc sa ne m'affiche rien. 2 jours que je suis dessus et je désespère fortement.

    Voici mon visuel : Nom : Capture.PNG
Affichages : 145
Taille : 12,4 Ko

    Si quelqu'un peut me dire comment faire pour passer mon $data['id'] dans ma requête d'affichage de projet je suis preneur.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour, si je comprend bien, je ferais ceci :

    Vue :

    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
     
     
    <?php while ($data = $service->fetch()) : ?>
        <h3 value="<?php echo  $data['id'];?>">
    <?php echo  $data['wording']; ?>
        </h3>
     
        <!--affichage des projets-->
     
        <?php $projets = projectByService($data['id']); ?>
        <?php while ($donnees = $projets->fetch()): ?>
            <h5><?php echo $donnees['wording']; ?></h5>
        <?php endwhile; ?>
     
    <?php endwhile ?>
    Controller

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    function afficheProjets()
    {
      $service = listServiceAll();
    //  $projets = projectByService(); //ceci est appelé dans la vue
     
      require('./view/accueil.php');
    }

  3. #3
    Membre averti Avatar de Coxinhell
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 16
    Par défaut Oh!
    Je ne pensais pas que c'était possible de faire appel à mon model dans ma vue sans passer par le contrôleur.
    Enfin je pensais pas avoir le droit de le faire.
    Un très très grand merci !

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Normalement , on ne peut pas, car vous devriez organisé vos données dans votre controller et seulement affiché les données dans la vue.

  5. #5
    Membre averti Avatar de Coxinhell
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 16
    Par défaut
    Tu entend quoi par organisé mes données? Faire mes while dans le controleur et n'afficher que les $donnees['blabla'] dans ma vue par exemple?

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Correct. c'est comme cela que cela fonctionne dans la majorité des frameworks à peu de chose près

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/09/2013, 13h55
  2. Réponses: 2
    Dernier message: 26/01/2012, 11h41
  3. Récupérer exp version 9i pour utiliser dans une 11g
    Par StéphanieBB dans le forum Import/Export
    Réponses: 8
    Dernier message: 23/01/2012, 16h50
  4. Récupération de données dans un fichier XML pour une utilisation dans une servlet
    Par Dredd619 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 24/04/2009, 08h41
  5. Réponses: 2
    Dernier message: 29/08/2007, 19h43

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