Obtenir des informations à partir d'enregistrements correspondants

La méthode fetch

La méthode IMu::Module de la classe fetch est utilisée pour obtenir des informations à partir du jeu de résultats une fois que la recherche d’un module a été exécutée. Le serveur maintient l’ensemble des enregistrements correspondants dans une liste et la méthode fetch peut être utilisée pour récupérer n’importe quelle information à partir de n’importe quel bloc contigu d’enregistrements dans la liste.

Spécification des colonnes

Cette section décrit les valeurs qui peuvent être incluses ou utilisées comme arguments columns de la méthode IMu::Module de la classe fetch.

Un exemple simple

Dans cet exemple, nous construisons une simple page web basée sur Perl CGI (Common Gateway Interface) pour rechercher le module Personnes / Organisations par nom de famille et afficher l’ensemble des résultats.

Construisez d’abord la page de recherche, qui est un formulaire HTML simple :

<head>

<title>Recherche de personnes / organisations</title>

</head>

<body>

<form action="/cgi-bin/a-simple-example.pl">

</p> <p>Entrez un nom de famille à rechercher (par exemple, Smith):</p>

<input type="text" name="name"/>

<input type="submit" value="Search"/>

</form>

</body>

Ensuite, construisez la page de résultats (code source), qui exécute la recherche et affiche les résultats.

#!/usr/bin/env perl  use strict; use warnings; use FindBin qw($RealBin); use lib "$RealBin/../../lib"; use IMu::Module; use IMu::Session; use IMu::Terms; use CGI; use CGI::Carp qw(fatalsToBrowser);  my $cgi = CGI->new(); my $name = $cgi->param('name'); if (! defined($name) || $name eq '') { print($cgi->header('text/html','400 Bad Request')); die("missing 'name' parameter\n"); } my $terms = IMu::Terms->new(); $terms->add('NamLast', $name);  my $session = IMu::Session->new('imu.mel.kesoftware.com', 40136); my $parties = IMu::Module->new('eparties', $session); my $hits = $parties->findTerms($terms);  my $columns = [ 'NamFirst', 'NamLast' ]; my $results = $parties->fetch('start', 0, -1, $columns); print($cgi->header()); print($cgi->start_html(-title => 'IMu Perl API - Un exemple simple')); print($cgi->p("Nombre de correspondances : $hits")); print($cgi->start_table());  foreach my $row (@{$results->{'rows'}}) { my $rowNum = $row->{'rownum'}; my $firstName = $row->{'NamFirst'}; my $lastName = $row->{'NamLast'}; print($cgi->start_Tr()); print($cgi->start_td(), "$rowNum.", $cgi->end_td()); print($cgi->start_td(), "$lastName, $firstName", $cgi->end_td()); print($cgi->end_Tr()); } print($cgi->end_table(), "\n"); print($cgi->end_html()); exit(0);

Dans cet exemple, le paramètre name saisi via la page de recherche HTML est soumis au script Perl CGI. Le script recherche les enregistrements de Personnes / Organisations dont le nom de famille correspond à la valeur saisie et affiche le prénom et le nom dans un tableau HTML.

Pour plus d’informations sur le module Perl CGI et l’exécution de CGI sous Apache, voir :