Le blog de ALF-Solution

Deuxième partie de comment lire des données

Dans la première publication on a surtout vu les fonctions Fetch et FetchFirst de la classe Table. Nous allons maintenant voir comment on peut retrouver des données via la classe TableRow. Le principe est assez simple. Nous allons d'abord créer un objet de type TableRow, ensuite nous allons assigner des valeurs à la colonne ou les colonnes qui doivent servir de criètres de recherche et ensuite on va exécuter le query. Voyons tout de suite cela au travesr d'un petite exemple

$data = new TableRow('employee');
$data->Last_name = 'Clifford';
$employees = $data->find();
foreach ($employees as $employee){
    echo $employee->First_name.' '.$employee->Last_name;
    echo '
';
}

Et si on exécute ce code voici le résultat

Harry Clifford
Eliza Clifford
Melinda Clifford

Détaillons ce premier petit exemple. Nous avons commencé par créer notre object $data. Ensuite on assigné 'Clifford' au champ Last_name. Par cette assignation, nous avons spécifié que nous voulions retrouver tous les employés dont le nom était 'Clifford'. Pour terminer, nous avons lancer la recherche via la fonction find() et assigné le résultat à la variable $employees qui sera un tableau contenant les enregistrements correspondant au critère de recherche. Pour ce qui est de l'affiche, je l'ai déjà dit, c'est simple, c'est exactement comme pour une recherche avec la fonction Find de la classe Table.

Oui, mais comment on fait si on veut retrouver tous les employés avec un salaire supérieur à 7000$  ? Ce n'est pas très compliqué non plus, mais cette fois on devra faire appel à la fonction set() comme montré dans l'exemple ci-dessous.

$data = new TableRow('employee');
$data->set('Salary', 7000, '>');
$employees = $data->find();
foreach ($employees as $employee){
    echo $employee->First_name.' '.$employee->Last_name.' '.$employee->Salary;
    echo '
';
}

L'exécution donnera comme résultat les trois lignes suivantes.

Taylor Edward 7200
Melinda Clifford 8500
Harley Gilbert 8000

Je pense que maintenant vous avez compris comment on peut lire des données depuis une table. Et, mais minute papillon, comment on fait quand on a un requête complexe ? Ah oui, très bonne question. Et bien dans ce cas là on retourne vers la classe Table qui a une méthode Select qui aura comme argument une requête SQL de tout ce qu'il y a de plus classique comme :

$employees = Table::Select("select * from employee where salary BETWEEN 6000 and 7500");
foreach ($employees as $employee){
    echo $employee->First_name.' '.$employee->Last_name.' '.$employee->Salary;
    echo '
';
}

Qui donnera la liste des emplyés ayant un salaire entre 6000 et 7500 $.

Taylor Edward 7200
Vivian Dickens 6000
Harry Clifford 6800

par Admin ALF-Solution Publié le 09/02/2015 13:17:44 Modifié le 09/02/2015 13:41:00 Commentaires 0 0 J'aime