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 :

Histoire d'array dans un autre array


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2015
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Histoire d'array dans un autre array
    Bonjour bonjour

    Je pense que cette enigme est assez simple mais étant débutant je ne saisie pas encore tout et m'enmèle les pinceaux
    Voila mon problème:

    j'aimerai passer de ce résultat là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Array ( [id] => 1 [title] => Evènement 1 [datevt] => 1472335200 ) 
    Array ( [id] => 2 [title] => Evènement 2 [datevt] => 1472508000 )
    à celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Array
    (
    [1472335200] => Array
    (
    [1] => Evènement 1 
    )
     
    [1472508000] => Array
    (
    [2] => Evènement 2 
    )
    )

    Et celà avec le code de départ suivant

    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
     
    /**
     *
     * @Route("/agenda", name="agenda")
     *
     */
    public function view_agendaAction()
    {
     
        $req = $this->getDoctrine()
            ->getManager()
            ->createQuery('SELECT e.id,e.title,e.description,e.datevt FROM AppBundle:events e WHERE e.datevt BETWEEN :start AND :end'
                )->setParameter('start', new \Datetime(date('Y').'-01-01'))
                 ->setParameter('end',   new \Datetime(date('Y').'-12-31'))
            ->getResult();
     
     
        $r = array();
        foreach ($req as $r) {
            $r["datevt"] = $r["datevt"]->getTimestamp();
            $r["id"];
            $r["title"];
            print_r($r);
        }
     
     
     
     
        return $this->render('calendar/calendar.html.php', array('req' => $req));
    }
    Pour info, je travail sous environnement symfony 2.8.

    Merci d'avance pour vos retour
    Images attachées Images attachées   

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    quelque chose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    foreach ($req as $r) {
            $timestamp = $r["datevt"]->getTimestamp();
            $result[$timestamp][$r['id']] = $r['title'];
     
            return $this->render('calendar/calendar.html.php', array('req' => $result));
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2015
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Excellent ! Merci beaucoup! C'est exactement ce qu'il me fallait!

    Du coup, voici ma fonction:

    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
     
        /**
         *
         * @Route("/agenda", name="agenda")
         *
         */
        public function view_agendaAction()
        {
     
            $req = $this->getDoctrine()
                ->getManager()
                ->createQuery('SELECT e.id,e.title,e.description,e.datevt FROM AppBundle:events e WHERE e.datevt BETWEEN :start AND :end'
                    )->setParameter('start', new \Datetime(date('Y').'-01-01'))
                     ->setParameter('end',   new \Datetime(date('Y').'-12-31'))
                ->getResult();
     
            $r = array();
            foreach ($req as $r) {
                    $timestamp = $r["datevt"]->getTimestamp();
                    $events[$timestamp][$r['id']] = $r['title'];            
            }
     
            return $this->render('calendar/calendar.html.php', array('events' => $events));
        }
    Par contre, je pensais que çà allait résoudre pour problème d'affichage d'évènements, mais quelque chose m'échappe encore:
    Mon résultat est donc désormais bien retourné dans ma page calendrier.php. Un grand merci à Sabotage!

    Mais l'affichage des évènement ne se font toujours pas...
    Voir la vidéo à la 41:10. =>


    et voici le code de ma page calendrier.php:

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     
     
     
     
    <section class="calendar">
     
     
    <?php print_r($events);?>
        <?php
        require('date.php');
        $date = new Date();
        $year = date('Y');
        $dates = $date->getAll($year);
        ?>
     
        <h3><a href="#">Agenda <span class="year"><?php echo  $year; ?></span></a></h3>
     
        <div class="periods">
     
            <div class="months">
                <ul>
                    <?php foreach ($date->months as $id=>$m): ?>
                        <li><a href="#" id="linkMonth<?php echo $id+1; ?>"><?php echo utf8_encode(substr(utf8_decode($m),0,3)); ?></a></li>
                    <?php endforeach; ?>
                </ul>
            </div>
            <div class="clear"></div>
            <?php $dates = current($dates); ?>
            <?php foreach($dates as $m=>$days): ?>
     
                <div class="month relative" id="month<?php echo $m; ?>">
                    <table>
                        <thead>
                            <tr>
                                <?php foreach($date->days as $d): ?>
                                    <th><?php echo substr($d,0,1) ?></th>
     
                                <?php endforeach; ?>
                            </tr>
                        </thead>
     
                        <tbody>
                            <tr>
                            <?php $end = end($days); foreach($days as $d=>$w): ?>
                                <?php $time = strtotime("$year-$m-$d"); ?>
                                <?php if($d == 1): $nb=$w-1; if($nb>0):?>
                                    <td colspan="<?php echo $w-1; ?>" class="padding"></td>
                                <?php endif; ?>
                                <?php endif; ?>
     
                                <td>
                                    <div class="relative">
                                        <div class="day"><?php echo $d; ?></div>
                                    </div>
     
                                    <ul class="events">
     
                                        <?php if(isset($events[$time])): foreach($events[$time] as $e): ?>
                                            <li><?php echo $e; ?></li>
                                        <?php endforeach; endif; ?>
                                    </ul>
     
     
     
                                </td>
                                <?php if($w == 7): ?>
                                    </tr><tr>
                                <?php endif; ?>
                            <?php endforeach; ?>
     
                            <?php if($end != 7): ?>
                                <td colspan="<?php echo 7-$end; ?>" class="padding"></td>
                            <?php endif; ?>
                            </tr>
                        </tbody>
                    </table>
                </div>
     
            <?php endforeach; ?>
        </div>
     
     
     
     
     
     
     
     
    </section>
     
    <!-- Fragment rendered on {{ 'now'|localizeddate('long', 'long') }} -->
    Une idée?

    Pour rappel, je travail sous symfony 2.8.

    Merci d'avance

  4. #4
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2015
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Fauuse alerte!!!

    Tout est ok, et tout semble fonctionner.

    Un grand merci sabotage!

Discussions similaires

  1. Réponses: 14
    Dernier message: 20/08/2014, 14h12
  2. Réponses: 2
    Dernier message: 12/12/2013, 21h00
  3. Numpy : copier un array dans un autre array
    Par jlg_47 dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 24/03/2010, 10h23
  4. [Tableaux] copier tout un array dans une autre variable
    Par XavierWRC dans le forum Langage
    Réponses: 3
    Dernier message: 06/01/2010, 17h07
  5. Récupération d'un array dans un autre array
    Par slake13 dans le forum Langage
    Réponses: 1
    Dernier message: 14/10/2009, 16h09

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