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 :

Rafraichir une page dans un modele MVC


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Rafraichir une page dans un modele MVC
    J'ai un projet (sous slim) ou je doit à un moment donnée, si la personne click sur le lien, rafraichir la page et incrémenter une variable en get.
    Mon projet suis le modèle MVC.


    Voici le controlleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $app->get('/user_account', function () use ($app) {
    	$app->render(
    		'user_account.php',
    		array(
    			//$add_map = Map::print_map()
    			$year = "2015"
    		)		
    	);
    })->name('user_account');

    Voici la vue :

    La page principale ou se trouve le lien.
    user_account.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php 
      $date = new Date();
      $year = $this->data['year'];
      $events = $date->getEvents($year);
      $dates = $date->getAll($year);
    ?>
     
    <a href="<?php echo $app->urlFor('user_account', array('year', $year+1)); ?>">
     <?php echo "<"; ?>
    </a>

    Le modele :

    La class date qui se sert de la variable que j'incrémente quand je click sur le lien.
    date.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
    <?php
        class Date{
     
            var $days = array('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi','Dimanche');
            var $months = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
     
            function getEvents($year){
                $bdd = DB::connect();
                $req = $bdd->query('SELECT id, name, date FROM event WHERE YEAR(date)='.$year);
                $r = array();
                while($d = $req->fetch(PDO::FETCH_OBJ)){
                    $r[strtotime($d->date)][$d->id] = $d->name;
                }
                return $r;
            }
     
            function getAll($year){
                $r = array();
     
                $date = new DateTime($year.'-01-01');
     
                while($date->format('Y') <= $year){
                    $y = $date->format('Y');
                    $m = $date->format('n');// n pour ne pas avoir les 0 initiaux
                    $d = $date->format('j');// j pareil mais pour les jours
                    $w = str_replace('0','7',$date->format('w')); // pour avoir le dimanche a la fin de la semaine et non comme premier jour
                    $r[$y][$m][$d] = $w;
                    $date->add(new DateInterval('P1D')); // P1D pour une journée durée de une journée comme intervalle
                }
     
                return $r;
            }
        }
    ?>

    L'erreur semble être lié à la classe date :

    Type: PDOException
    Code: 42000
    Message: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    File: C:\wamp\www\ingesup-master\models\date.php
    Line: 9

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Tu as vérifié ce que te renvoyais $year?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Dans ma classe date, la variable vaut null,
    dans user_account les var_dump ne s'affichent pas.

  4. #4
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Si ta variable vaut nul cette requête ne peux pas fonctionner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = $bdd->query('SELECT id, name, date FROM event WHERE YEAR(date)='.$year);
    Et tes autres fonctions qui utilisent cette variable.

    As-tu essayé une echo $year; sur user_account.php
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Elle est null aussi, j'arrive pas à l'instancier dans mon controlleur.

  6. #6
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Même en faisant ??

    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
    <?php 
      $date = new Date();
     
      echo $this->data['year'];
     
      //ou  
     
      var_dump($this->data['year']);
     
      $events = $date->getEvents($year);
      $dates = $date->getAll($year);
    ?>
     
    <a href="<?php echo $app->urlFor('user_account', array('year', $year+1)); ?>">
     <?php echo "<"; ?>
    </a>
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Oui pardon, j'ai édit mon message, je faisais var_dump($year); au lieu de var_dump($this->data['year']); :

    Elle est null.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Je me demande si ma variable $year est bien déclaré dans mon controlleur, j'ai tester plein de trucs différent mais rien ne semble vouloir fonctionner.

  9. #9
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Sinon dans le premier fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $data = array( 
       $year => "2015"
    );
     
    $app->get('/user_account', function () use ($app) {
    	$app->render(
    		'user_account.php', $data		
    	);
    })->name('user_account');
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Il me met l'erreur suivante : Notice: Undefined variable: year in C:\wamp\www\ingesup-master\index.php.

  11. #11
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Majinfrede Voir le message
    Il me met l'erreur suivante : Notice: Undefined variable: year in C:\wamp\www\ingesup-master\index.php.
    Que ce soit avec le var_dump ou le echo ?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

Discussions similaires

  1. Rafraichir une page sur changement dans une bd
    Par primactif dans le forum ASP.NET
    Réponses: 6
    Dernier message: 31/01/2017, 23h24
  2. Rafraichir une page dans un autre onglet du navigateur
    Par pierre50 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/10/2012, 17h10
  3. ERREUR HTTP 404 Dans Une Application Test du modele MVC
    Par yassine_3 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 21/07/2010, 11h35
  4. [flash] ouvrir une page dans une frame différente
    Par viena dans le forum Intégration
    Réponses: 6
    Dernier message: 01/08/2007, 15h54
  5. [EXCEL]Modifier les marges d'une page dans Excel
    Par ms91fr dans le forum Composants VCL
    Réponses: 4
    Dernier message: 06/01/2004, 15h26

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