Forum und email

sesam_fetch_row

(No version information available, might be only in CVS)

sesam_fetch_row — Lit une ligne dans un tableau

Description

array sesam_fetch_row ( string $result_id [, int $whence [, int $offset ]] )

sesam_fetch_row() lit une ligne de données dans le résultat result_id . La ligne est retournée sous forme d'un tableau (indexé de 0 à $array["count"]-1). Les champs peuvent être vides : il faut vous assurer de leur existence en utilisant la fonction isset(). Le type de la valeur retournée dépend du type SQL déclaré dans la base (voir introduction SESAM pour connaître les conversions utilisées). Les champs multiples SESAM sont linéarisés, et traités comme autant de colonnes.

Le nombre de colonnes du résultat est retourné dans un élémenent du tableau associatif retourné $array["count"]. Comme certaines lignes peuvent être vides, la fonction count() ne peut être utilisée avec le tableau ainsi retourné par sesam_fetch_row().

Les prochains appels à sesam_fetch_row() liront la prochaine ligne (ou la précédente, ou la n-ième, suivant le type de défilement) dans le résultat, ou FALSE, s'il n'y a plus de lignes.

Liste de paramètres

result_id

Un identifiant de résultat valide, retourné par la fonction sesam_query().

whence

whence est un paramètre optionnel lors d'une opération de lecture sur un curseur à défilement, qui peut prendre une des valeurs suivantes :

Valeurs valides pour "whence"
Valeur Constante Signification
0 SESAM_SEEK_NEXT Lecture séquentielle (après la lecture, la position est déplacée à SESAM_SEEK_NEXT)
1 SESAM_SEEK_PRIOR Lecture séquentielle à rebours (après la lecture, la position est déplacée à SESAM_SEEK_PRIOR)
2 SESAM_SEEK_FIRST Repositionnement au début (après la lecture, la position est déplacée à SESAM_SEEK_NEXT)
3 SESAM_SEEK_LAST Repositionnement à la fin (après la lecture, la position est déplacée à SESAM_SEEK_PRIOR)
4 SESAM_SEEK_ABSOLUTE Repositionnement absolu à offset (index commencant à 0. Après la lecture, la position est placée à SESAM_SEEK_ABSOLUTE, et le pointeur interne est auto-incrémenté)
5 SESAM_SEEK_RELATIVE Repositionnement relatif à offset , où offset peut être positif ou négatif
Ce paramètre n'est valable que pour les curseurs à défilement.

Lors de l'utilisation de curseurs à défilement, le curseur peut être librement repositionné. Si le paramètre whence est omis, les valeur par défaut seront utilisées (initialisées à : SESAM_SEEK_NEXT, et modifiées par sesam_seek_row()). Si whence est fourni, sa valeur remplacera les valeurs par défaut.

offset

Paramètre optionnel qui n'est utilisé (et nécessaire) que si whence vaut soit SESAM_SEEK_RELATIVE ou SESAM_SEEK_ABSOLUTE. Ce paramètre n'est valable que pour les curseurs à défilement.

Valeurs de retour

Retourne un tableau qui correspond à la ligne lue dans le résultat result_id , ou FALSE s'il n'y a plus de ligne.

Exemples

Example#1 Exemple avec sesam_fetch_row()

<?php
$result 
sesam_query("SELECT * FROM phone\n" .
                       
"  WHERE LASTNAME='" strtoupper($name) . "'\n" .
                       
"  ORDER BY FIRSTNAME"1);
if (!
$result) {
    
/* ... erreur ... */
}
// Affiche la table dans l'ordre inverse
echo "<table border=\"1\">\n";
$row sesam_fetch_row($resultSESAM_SEEK_LAST);
while (
is_array($row)) {
    echo 
"<tr>\n";
    for (
$col 0$col $row["count"]; ++$col) {
        echo 
"<td>" htmlspecialchars($row[$col]) . "</td>\n";
    }
    echo 
"</tr>\n";
    
// utilise la valeur implicite de SESAM_SEEK_PRIOR
    
$row sesam_fetch_row($result);
}
echo 
"</table>\n";
sesam_free_result($result);
?>