Manuel PHP
Précédent |  | Suivant

# sesam_fetch_array

(PHP 3 CVS only)

sesam_fetch_array -- Lit une ligne dans un tableau associatif

## Description

array sesam_fetch_array ( string result_id [, int whence [, int offset]] )

sesam_fetch_array() retourne un tableau qui correspond à la ligne lue dans le résultat result_id, ou `FALSE` s'il n'y a pas d'autres lignes.

sesam_fetch_array() est une version alternative de sesam_fetch_row(). Au lieu de stocker les données dans un tableau à indice numérique, il enregistre les données dans un tableau associatif, en utilisant les noms des champs comme clés.

result_id est un identifiant de résultat valide retourné par sesam_query() (avec une requête de selection seulement!).

Pour connaître les valeurs valides des options whence et offset, reportez-vous à sesam_fetch_row().

sesam_fetch_array() lit une ligne de données dans le résultat result_id. La ligne est retournée sous forme d'un tableau associatif. Chaque colonne est enregistrée avec leur nom comme index. Les noms des colonnes sont convertis en minuscules.

Les colonnes sans nom (par exemple, les résultats d'opérations arithmétiques) et les champs vides ne sont pas stockés dans ce tableau. De plus, si deux colonnes ont le même noms, la dernière colonne écrasera la précédente. Dans cette situation, utilisez de préférence sesam_fetch_row() ou bien, faîtes un alias de la colonne.

Exemple 1. Alias de colonnes avec SESAM

    SELECT TBL1.COL AS FOO, TBL2.COL AS BAR FROM TBL1, TBL2

Une gestion spéciale permet de lire les champs multiples, qui sinon, auraient toutes le même nom. Pour chaque colonne d'un champ multiple, le nom d'index est créé en ajoutant le numéro de sous-index à la suite du nom de la colonne. Ces sous indices sont numérotés à partir de 1.

Exemple 2. Lire les champs multiples de SESAM

    CREATE TABLE ... ( ... MULTI(3) INT )

Les index associatifs utilisés pour les valeurs individuelles du champ multiple sont : "multi(1)", "multi(2)", et "multi(3)", respectivement.

Les prochains appels à sesam_fetch_array() liront la prochaine ligne (ou la précédente, ou la n-ième, suivant les attributs de défilement), jusqu'à ce qu'il n'y ait plus de lignes.

Exemple 3. Exemple avec sesam_fetch_array()

`<?php
$result = sesam_query("SELECT * FROM phone\n" .
" WHERE LASTNAME='" . strtoupper($name) . "'\n".
" ORDER BY FIRSTNAME", 1);
if (! $result) {
// erreur
}
// Affiche la table
echo "<table border=\"1\">\n";
while (($row = sesam_fetch_array($result)) && count($row) > 0) {
echo "<tr>\n";
echo "<td>" . htmlspecialchars($row["firstname"]) . "</td>\n";
echo "<td>" . htmlspecialchars($row["lastname"]) . "</td>\n";
echo "<td>" . htmlspecialchars($row["phoneno"]) . "</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
sesam_free_result($result);
?>`

Voir aussi sesam_fetch_row() qui retourne un tableau numérique.

Précédent | Sommaire | Suivant
sesam_execimm | Niveau supérieur | sesam_fetch_result