Location: PHPKode > scripts > navigInTable > navigintable/navigInTable.txt
Comment utiliser navigInTable
1) Objectifs
============
Permettre la circulation dans une table MySql sur un champ AUTO_INCREMENT.
C'est à dire:
- aller au suivant
- aller au précédent
- aller au premier
- aller au dernier

2) Lien avec MySql
==================
navigInTable s'appuie sur la classe DB_Sql de PHPLIB
( voir http://phplib.netuse.de/documentation/index.php3)

3) Mode d'emploi basique
========================

3.1) Création de l'instance de navigation
-----------------------------------------

$nit = new navigInTable( $Host, $Database, $User, $Password, $__table, $__idTable, $idElt);
+ $Host : nom du serveur MySql
+ $Database : nom de la base de données à utiliser
+ $User : nom de l'utilisateur
+ $Password :son mot de passe
+ $__table : table dans laquelle on veut circuler
+ $__idTable : nom de la colone de la table sur laquelel on veut se déplacer,
(une vérification de son caratère AUTO_INCREMENT est faite )

+ $idElt : rang de l'élément sur lequel on veut se positionner, si absent c'est le premier par défaut.

3.2) Fonctions de navigation
============================

3.2.1] Résultat de la création
Si la création est OK $nit-OK est vrai (true) sinon faux (false)

3.2.2] Navigation élémentaire
Aller au premier   : $idElt = $nit->rangPrem();
Aller au dernier   : $idElt = $nit->rangDern();
Aller au suivant   : $idElt = $nit->rangSuiv();
Aller au précédent : $idElt = $nit->rangPrec();

3.2.3] Autres fonctions
$nit->nbElts() : renvoie le nombre d'éléments de la liste
$nit->getRangCourant() : renvoie le rang du courant
$nit->isExist( $rc) : renvoie vrai (true) si le rang $rc existe, faux sinon.
$nit->isPrem( $rc) : renvoie vrai si le rang courant $rc est le premier, faux sinon.
$nit->isDern( $rc) : renvoie vrai si le rang courant $rc est le dernier, faux sinon.


4) Mode d'emploi plus élaboré
=============================

Avec une requête en ligne on peut ne naviguer que parmi certains éléments.
Ceci grâce à l'utilisation des paramètres 8 et 9 ( qui valent "" par défaut).

+ $clWhere : c'est une clause 'where' d'une requête SQL.
Cette clause ne doit pas commencer ni par ',' ni par 'and'.

+ $tbWhere : c'est la liste des tables entrant en jeu dans la clause en plus de $__table.
Cette liste ne doit pas commencer par ','.

Exemple :
$clWhere = "(($__table.ch1 = t2.ch1) AND (t2.ch2='xxx'))";
$tbWhere = "table2 as t2";
--------------------------------------------------------------------------
In english
How to use navigInTable
1) Goals
============
This class allows to build a navigation in a MySql table on an
AUTO_INCREMENT field, i.e.

- go to previous
- go to next
- go to first
- go to last
- and others

2) Connecting to MySql
======================
navigInTable uses the class DB_Sql found in PHPLIB (see
http://phplib.netuse.de/documentation/index.php3)

3) Basic guide
==============

3.1) Create an instance of the class
-------------------------------------

$nit = new navigInTable( $Host, $Database, $User, $Password, $__table,
$__idTable, $idElt);
+ $Host : the MySql server name
+ $Database : name of the database to be used
+ $User : user name
+ $Password : password
+ $__table : name of the table to use
+ $__idTable : name of the ITO_INCREMENT field (the class verifies that the
$__ifTable's type is an AUTO_INCREMENT field)
+ $idElt : position of the element to go to, defaults to the first element.


3.2) Navigation functions
=========================

3.2.1] Result of the instance's creation
If the creation is OK $nit-OK is true, else it's false

3.2.2] Elementary navigation
Go to first   : $idElt = $nit->rangPrem();
Go to last   : $idElt = $nit->rangDern();
Go to next   : $idElt = $nit->rangSuiv();
go to previous : $idElt = $nit->rangPrec();

3.2.3] Other functions
$nit->nbElts() : number of elements of the table
$nit->getRangCourant() : current position
$nit->isExist( $rc) : true if element $rc exists, else false.
$nit->isPrem( $rc) : true if element $rc is the first, else false.
$nit->isDern( $rc) : true if element $rc is the last, else false.


4) Another utilizations
=======================

By using a special request it is possible to navigate within elements that
meet a particular condition.
This is possible by using the 8th and 9th parameter ("" by default).

+ $clWhere : This is the WHERE clause of an SQL request.
This clause must not begin with a ',' or 'and'.

+ $tbWhere : This is the list of the tables used by the preceding WHERE
clause without the basic $__table.
This list must not begin with ','.

Example :
$clWhere = "(($__table.ch1 = t2.ch1) AND (t2.ch2='xxx'))";
$tbWhere = "table2 as t2";
Return current item: navigInTable