Le blog de ALF-Solution

La mise à jour de données

La mise à jour de données se fait de manière assez similaire à l'ajout de données, si ce n'est que l'on doit spécifier le numéro de l'enregistrement soit le numéro de ID. Mettons à jour l'enregistrement que l'on vient de créer, en changeant le salaire qui sera de 8000$ au lieu de 7500$

$data = new TableRow('employee');
$data->Id = 9;
$data->Salary = 8000;
if ( $data->save() !== false){
    echo "l'enregistrement a été modifié dans la base donnée ";
} else {
    echo "Une erreur est survenue lors de l'enrgistrement du record";
}
echo '<hr>';
$employee = Table::FetchById('employee', 9);
echo "Nombre de colonne : ".$employee->count().'<br>';
foreach ($employee->array_value as $field => $value){
    echo ''.$field.' = '.$value. ' ';
}
echo '<hr>';

 

l'enregistrement a été modifié dans la base donnée';

Nombre de colonne : 6
Id = 9 First_name = John Last_name = Doe Job_title = IT Manager Salary = 8000 Notes

Cette façon de faire à l'avantage de ne mettre à jour que la colonne Salary de la table employee. On pourrait aussi d'abord rechercher le record, modifier le champ que l'on souhaite et ensuite sauver dans la base de données, le résultat reviendrait au même. Voici le code illustrant ce cas, mais cette fois on attribuera un salaire de 8500$

$data = Table::FetchById('employee', 9);
$data->Salary = 8500;
if ( $data->save() !== false){
    echo "l'enregistrement a été modifié dans la base données ";
} else {
    echo "Une erreur est survenue lors de l'enrgistrement du record";
}
echo '<hr>';
$employee = Table::FetchById('employee', 9);
echo "Nombre de colonne : ".$employee->count().'<br>';
foreach ($employee->array_value as $field => $value){
    echo $field.' = '.$value. ' ';
}
echo '<hr>';

 

et l'affichage du résultat

l'enregistrement a été modifié dans la base de données

Nombre de colonne : 6
Id = 9 First_name = John Last_name = Doe Job_title = IT Manager Salary = 8500 Notes

Pour être complet, il est aussi toujours possible de mettre à jour ou insérer un nouvel enregistrement via une commande UPDATE ou INSERT  en utilisant la méthode exec de la classe Table.

$nbRecordUpdated = Table::Execute("UPDATE `employee` set `salary` = 9000 where `id` = 9");
echo "$nbRecordUpdated enregistrement a (ont) été mis à jour dans la table employee";

echo '<hr>';
$employee = Table::FetchById('employee', 9);
echo "Nombre de colonne : ".$employee->count().'<br>';
foreach ($employee->array_value as $field => $value){
    echo ''.$field.' = '.$value. ' ';
}
echo '<hr>';
1 enregistrement a (ont) été mis à jour dans la table employee

Nombre de colonne : 6
Id = 9 First_name = John Last_name = Doe Job_title = IT Manager Salary = 9000 Notes


par Admin ALF-Solution Publié le 09/02/2015 19:58:32 Modifié le Commentaires 0 0 J'aime