Au service

des PME et des indépendants

 

Post : L'ajout de données ou insertion

Retour

Après avoir vu comment se connecter et comment lire des données dans une table, voyons voir maintenant comment on peut ajouter des données et modifer des données existantes. Ces deux opérations sont assez similaires.

L'ajout de données

Pour ajouter des données, on utilisera une instance de la classe TableRow. Ensuite tout simplement on assignera aux différents champs de la table une valeur et pour sauver notre travail on appelera la fonction save(). Si tout se passe bien, on recevra en retour de cette fonction le numéro de l'ID de nouveau record créé. Par contre s'il y a une erreur, la fonction renvera false. Illustrons cela par un exemple et ajouter un nouvel enregistrement à notre table employee

$data = new TableRow('employee');
$data->Last_name = 'Doe';
$data->First_name = 'John';
$data->Salary = 7500;
$data->Job_title = 'IT Manager';
if (($newId = $data->save()) !== false){
    echo "Un nouvel enregistrement a été ajouté dans la base données avec l'ID $newId";
} else {
    echo "Une erreur est survenue lors de l'enrgistrement du nouveau record";
}

Ce qui affichera comme résultat :

Un nouvel enregistrement a été ajouté dans la base données avec l'ID 9

On peut bien sûr vérifier cela en affichant tous les enregistrement de la table, c'est ce que l'on va faire, en affichant toutes les colonnes via une boucle pour éviter de devoir nommer explicitement chaque colonne. Voici le code pour le faire et le résultat juste après

/* Rechercher tous les employés de la table employee*/
$employees = Table::Fetch('employee');
echo "Nombre d'enregistrement : ".$employees->count();
echo '<hr>';
foreach ($employees as $employee){
    echo "Nombre de colonne : ".$employee->count().'<br>';
    foreach ($employee->array_value as $field => $value){
        echo '<b>'.$field.'</b> = <i>'.$value. '</i> ';
    }
    echo '<br>';
}

Nombre de colonne : 6
Id = 1 First_name = Robin Last_name = Jackman Job_title = Software Engineer Salary = 5500 Notes =
Nombre de colonne : 6
Id = 2 First_name = Taylor Last_name = Edward Job_title = Software Architect Salary = 7200 Notes =
Nombre de colonne : 6
Id = 3 First_name = Vivian Last_name = Dickens Job_title = Database Administrator Salary = 6000 Notes =
Nombre de colonne : 6
Id = 4 First_name = Harry Last_name = Clifford Job_title = Database Administrator Salary = 6800 Notes =
Nombre de colonne : 6
Id = 5 First_name = Eliza Last_name = Clifford Job_title = Software Engineer Salary = 4750 Notes =
Nombre de colonne : 6
Id = 6 First_name = Nancy Last_name = Newman Job_title = Software Engineer Salary = 5100 Notes =
Nombre de colonne : 6
Id = 7 First_name = Melinda Last_name = Clifford Job_title = Project Manager Salary = 8500 Notes =
Nombre de colonne : 6
Id = 8 First_name = Harley Last_name = Gilbert Job_title = Software Architect Salary = 8000 Notes =
Nombre de colonne : 6
Id = 9 First_name = John Last_name = Doe Job_title = IT Manager Salary = 7500 Notes