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 son 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 nom, la dernière
colonne écrasera la précédente. Dans cette situation, utilisez
de préférence sesam_fetch_row() ou bien, faites 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-index
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.