sesam_fetch_array
(No version information available, might be only in CVS)
sesam_fetch_array — Lit une ligne dans un tableau associatif
Description
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.
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.
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.
CREATE TABLE ... ( ... MULTI(3) INT )
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.
Liste de paramètres
- result_id
-
Un identifiant de résultats valide, retourné par la fonction sesam_query().
- whence
-
whence est un paramètre optionnel pour une opération de récupération sur des curseurs scrollables, qui peut être défini à une constante prédéfinie parmis la liste suivante :
Valeurs valides pour le paramètre "whence" Valeur Constante Signification 0 SESAM_SEEK_NEXT lecture séquentielle (après une récupération, le pointeur interne est défini à SESAM_SEEK_NEXT) 1 SESAM_SEEK_PRIOR lecture séquentielle en arrière (après une récupération, le pointeur interne est défini à SESAM_SEEK_PRIOR) 2 SESAM_SEEK_FIRST Revient à la première ligne (après une récupération, le pointeur interne est défini à SESAM_SEEK_NEXT) 3 SESAM_SEEK_LAST Se place à la dernière ligne (après une récupération, le pointeur interne est défini à SESAM_SEEK_PRIOR) 4 SESAM_SEEK_ABSOLUTE Se place à un numéro absolu de ligne donné par le paramètre offset (Commence à zéro. Après une récupération, le pointeur interne est défini à SESAM_SEEK_ABSOLUTE, et la valeur interne de la position est auto_incrémenté) 5 SESAM_SEEK_RELATIVE Se déplace par rapport à la position courante du curseur, où offset peut être une valeur de position positive ou négative. Lors de l'utilisation de curseurs scrollables, le curseur peut être positionné sur le jeu de résultats librement. Si le paramètre whence est omis, les valeurs par défaut globales pour le type de scrollage (initialisé à SESAM_SEEK_NEXT, et définissable par la fonction sesam_seek_row()) sont utilisées. Si le paramètre whence est fourni, ses valeurs remplacent les valeurs globales par défaut.
- offset
-
Uniquement évalué (et nécessaire) si le paramètre whence vaut soit SESAM_SEEK_RELATIVE, soit SESAM_SEEK_ABSOLUTE. Ce paramètre est uniquement valide pourles curseurs scrollables.
Valeurs de retour
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.
Exemples
Example#1 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);
?>