<?php
$reponse = $bdd->prepare('SELECT id FROM occupation WHERE MONTH(date_debut) = ? AND YEAR(date_debut) = ?');
$reponse ->execute(array($mois_parcouru, $annee_parcourue))
$classement = 1;
while ($donnees = $reponse ->fetch(PDO::FETCH_OBJECT))
{
$reponse = $bdd->prepare('UPDATE occupation SET classement = ? where id = ? ')
$reponse ->execute(array($classement,$donness->id))
$classement=$classement+1;
}
par exempletry
{
// ---------- On se connecte à MySQL
//$bdd = new PDO('mysql:host=localhost;dbname=web42-roberts', 'web42-roberts', '19011956', $pdo_options);
$bdd = new PDO('mysql:host=localhost;dbname=web42-roberts', 'root', '');
}
catch(Exception $e)
{
// ---------- En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->prepare('SELECT id FROM occupation WHERE MONTH(date_debut) = ? AND YEAR(date_debut) = ?');
$reponse ->execute(array($mois_parcouru, $annee_parcourue));
$classement = 1;
while ($donnees = $reponse ->fetch(PDO::FETCH_OBJECT))
{
$reponse = $bdd->prepare('UPDATE occupation SET classement = ? where id = ? ');
$reponse ->execute(array($classement,$donness->id));
$classement=$classement+1;
}$reponse ->execute(array($classement,$donness->id));
$reponse = $bdd->prepare('SELECT id FROM occupation WHERE MONTH(date_debut) = ? AND YEAR(date_debut) = ?');
$reponse ->execute(array($mois_parcouru, $annee_parcourue));
$classement = 1;
while ($donnees = $reponse ->fetch(PDO::FETCH_OBJ))
{
$reponse = $bdd->prepare('UPDATE occupation SET classement = ? where id = ? ');
$reponse ->execute(array($classement,$donness->id));
$classement=$classement+1;
}la variable $donness n'existe pas(enfin il suffisant juste de lire le code pour s'en rendre compte que c'est $donnees).la variable $donnees(définie dans la condition booléenne du while) est un tableau d'objets.donc pour récuperer une colonne de la table: $donnees->nomColonne.Notice: Undefined variable: donness in C:\...on line 111
Notice: Trying to get property of non-object in C:\...on line 111
$reponse ->execute(array($classement,$donnees->id));
ça veut dire que l’incrémentation de la variable classement n'est jamais prise en compte.à mon avis il faut incrémenter la variable $classement avant l'exécution de la requête(avant la méthode execute(array());dans ma base les enregistrements ont tous la valeur 1 dans le champ "classement"
$reponse = $bdd->prepare('SELECT id FROM occupation WHERE MONTH(date_debut) = ? AND YEAR(date_debut) = ?');
$reponse ->execute(array($mois_parcouru, $annee_parcourue));
$classement = 1;
while ($donnees = $reponse ->fetch(PDO::FETCH_OBJ))
{
$reponse = $bdd->prepare('UPDATE occupation SET classement = ? where id = ? ');
$classement=$classement+1;
$reponse ->execute(array($classement,$donnees->id));
}
$reponse = $bdd->prepare('SELECT id FROM occupation WHERE MONTH(date_debut) = ? AND YEAR(date_debut) = ?');
$reponse ->execute(array($mois_parcouru, $annee_parcourue));
$classement = 1;
while ($donnees = $reponse ->fetch(PDO::FETCH_OBJ))
{
$reponse2 = $bdd->prepare('UPDATE occupation SET classement = ? where id = ? ');//nouvel objet de connexion reponse2
$reponse 2->execute(array($classement,$donnees->id));
$classement=$classement+1;
}