dams Thu Apr 12 02:34:58 2001 EDT
Added files:
/phpdoc/fr/functions dbx.xml
Log:
Translated.
Index: phpdoc/fr/functions/dbx.xml
+++ phpdoc/fr/functions/dbx.xml
<reference id="ref.dbx">
<title>dbx</title>
<titleabbrev>dbx</titleabbrev>
<partintro>
<simpara>
Le module dbx est un module d'abstraction de base de données
(db pour database (base de données) et 'X' pour toutes les
bases supportées). Les fonctions dbx vous permettent d'accéder
à toutes les bases supportées, avec la même convention. Pour
cela
il vous faut avoir ces fonctions compilées avec PHP (option
de configuration <option role="configure">--enable-dbx</option>
et toutes les bases que vous souhaitez utiliser. Par exemple, si
vous voulez accéder à MySQL depuis dbx, vous devez aussi configurer
PHP avec
<link linkend="install.configure.with-mysql"><option
role="configure">--with-mysql</option></link>.
Les fonctions dbx n'interface pas directement les bases de
données, mais utilise les modules de support de ces bases.
Pour pouvoir utiliser une base avec le module dbx, il vous
faut l'avoir configuré avec PHP, ou bien la charger
dynamiquement. Actuellement les bases MySQL, PostgreSQL et
ODBC sont supportées, mais d'autres suivront bientôt
(j'espère).
</simpara>
<simpara>
La documentation complémentaire (ajout de nouvelles bases à dbx) est
accessible à <ulink url="&url.dbx.docs;">&url.dbx.docs;</ulink>.
</simpara>
</partintro>
<refentry id="function.dbx-close">
<refnamediv>
<refname>dbx_close</refname>
<refpurpose>Ferme une connexion à une base</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>boolean <function>dbx_close</function></funcdef>
<paramdef>resource <parameter>link_identifier</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>dbx_close</function> retourne <literal>TRUE</literal> en cas
de succès, et <literal>FALSE</literal> en cas d'erreur.
</para>
<example>
<title>Exemple avec <function>dbx_close</function></title>
<programlisting role="php">
<?php
$link = dbx_connect("mysql", "localhost", "base", "utilisateur", "mot de passe")
or die ("Impossible de se connecter");
print("Connexion réussie");
dbx_close($link);
?>
</programlisting>
</example>
<note>
<para>
Reportez vous aussi à documentation de la base de données que vous
utilisez.
</para>
</note>
<para>
Voir aussi
<function>dbx_connect</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.dbx-connect">
<refnamediv>
<refname>dbx_connect</refname>
<refpurpose>Ouvre une connexion à une base de données</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>resource <function>dbx_connect</function></funcdef>
<paramdef>string <parameter>module</parameter></paramdef>
<paramdef>string <parameter>host</parameter></paramdef>
<paramdef>string <parameter>database</parameter></paramdef>
<paramdef>string <parameter>username</parameter></paramdef>
<paramdef>string <parameter>password</parameter></paramdef>
<paramdef>int
<parameter><optional>persistent</optional></parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>dbx_connect</function> retourne une resource dbx_link_object
en cas de succès, <literal>FALSE</literal> sinon. Si la connexion a
put être établie, mais que la base de données n'a pas pu
être selectionnée, la fonction retournera quand même une
ressource.
Le paramètre <parameter>persistent</parameter> peut prendre la
valeur DBX_PERSISTENT, pour créer une connexion persitante.
</para>
<para>
Les valeurs possibles de <parameter>module</parameter> sont
les suivantes (n'oubliez pas que cela fonctionnera que si
le module associé est chargé):
</para>
<para>
<itemizedlist>
<listitem>
<simpara>
module 1: "mysql"
</simpara>
</listitem>
<listitem>
<simpara>
module 2: "odbc"
</simpara>
</listitem>
<listitem>
<simpara>
module 3: "pgsql"
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Le support de pgsql est au stade expérimental, et vous devez
compiler vous-même le module pgsql après avoir modifié un
des fichiers sources. Sinon, vous aurez une alerte affichée
à chaque requête.
</para>
<para>
La ressource dbx_link_object a trois membres : 'handle', 'module' et
'database'. Le membre 'database' contient le nom de la base de données
actuellement selectionnée. Le membre 'module' est à usage interne
à
dbx, et contient le numéro de module sus-cité. Le membre
'handle' est une resource valide de connexion à la base de données,
et peut être utilisé en tant que tel dans les autres fonctions
spécifiques à cette base de données.
</para>
<para>
<informalexample>
<programlisting role="php">
<?php
$link = dbx_connect("mysql", "localhost", "base de données", "utilisateur",
"mot de passe");
mysql_close($link->handle);
// dbx_close($link) est beaucoup plus adapté ici
?>
</programlisting>
</informalexample>
</para>
<para>
Les paramètres <parameter>host</parameter>,
<parameter>database</parameter>,
<parameter>username</parameter> et <parameter>password</parameter> sont
attendus, mais ne sont pas toujours utiles, suivant la fonction de connexion
de la base de données utilisée.
</para>
<para>
<example>
<title>Exemple avec <function>dbx_connect</function></title>
<programlisting role="php">
<?php
$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de
passe", DBX_PERSISTENT)
or die ("Impossible de se connecter");
print ("Connexion réussie");
dbx_close($link);
?>
</programlisting>
</example>
<note>
<para>
Reportez vous aussi à documentation de la base de données que vous
utilisez.
</para>
</note>
</para>
<para>
Voir aussi
<function>dbx_close</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.dbx-error">
<refnamediv>
<refname>dbx_error</refname>
<refpurpose>
Rapporte le message d'erreur du dernier appel de fonction
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>dbx_error</function></funcdef>
<paramdef>resource <parameter>link_identifier</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>dbx_error</function> retourne une chaîne contenant le
message d'erreur du module sélectionné. S'il y a des connexions
multiples sur le même module, seule la dernière erreur est fournie.
S'il a des des connexions sur différents modules, la dernière
erreur du module est retourné (le module est alors
représenté par
<parameter>link_identifier</parameter>). Notez que le module
ODBC ne supporte pas encore cette fonction.
</para>
<example>
<title>Exemple avec <function>dbx_error</function></title>
<programlisting role="php">
<?php
$link = dbx_connect("mysql", "localhost", "base de données", "utilisateur",
"mot de passe")
or die ("Impossible de se connecter");
$result = dbx_query($link, "select id from nonexistingtbl");
if ($result==0) {
echo dbx_error($link);
}
dbx_close($link);
?>
</programlisting>
</example>
<note>
<para>
Reportez vous aussi à documentation de la base de données que vous
utilisez.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.dbx-query">
<refnamediv>
<refname>dbx_query</refname>
<refpurpose>Envoie une requête et lit tous les résultats</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>resource <function>dbx_query</function></funcdef>
<paramdef>resource <parameter>link_identifier</parameter></paramdef>
<paramdef>string <parameter>sql_statement</parameter></paramdef>
<paramdef>long
<parameter><optional>flags</optional></parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>dbx_query</function> retourne une resource
dbx_result_object ou 1 en cas de succès (un objet de résultat
ne sera retourné que pour les requêtes SQL qui retournent un
résultat), ou 0 en cas d'erreur. Le paramètre
<parameter>flags</parameter> sert à contrôler la quantité
d'informations retournée. Il peut être n'importe quelle
combinaisons par OR des constantes : DBX_RESULT_INFO,
DBX_RESULT_INDEX, DBX_RESULT_ASSOC. DBX_RESULT_INFO fournit
des informations sur les colonnes, comme les noms des champs
et leur type. DBX_RESULT_INDEX retourne le résultat dans un
tableau indexé (par exemple, data[2][3], où 2 est le numéro
de ligne et 3 est le numéro de colonne), dont la première
colonne est indexée à 0. DBX_RESULT_ASSOC associe les noms
de colonnes avec leurs indices. Notez que DBX_RESULT_INDEX est
toujours retourné, indépendamment de la valeur de
<parameter>flags</parameter>. Si DBX_RESULT_ASSOC est spécifié,
DBX_RESULT_INFO est aussi retourné, même s'il n'a pas
été
spécifié. Ce qui signifie que les seules combinaisons envisageables
sont
DBX_RESULT_INDEX,
DBX_RESULT_INDEX | DBX_RESULT_INFO et
DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC. La dernière
combinaison est la valeur par défaut de <parameter>flags</parameter>.
Les résultats associés sont en fait des références,
ce qui fait que
modifier <literal>data[0][0]</literal>, revient à modifier
<literal>data[0]['fieldnameforfirstcolumn']</literal>.
</para>
<para>
Un objet dbx_result_object a 5 membres (éventuellement 4, suivants
les valeurs de <parameter>flags</parameter>) : 'handle', 'cols', 'rows',
'info' (optionnel) et 'data'. Handle est un identifiant de résultat,
qui peut être utilisé avec les fonctions spécifiques à
son module.
Par exemple :
</para>
<para>
<informalexample role="php">
<programlisting>
<?php
$result = dbx_query($link, "SELECT id FROM tbl");
mysql_field_len($result->handle, 0);
?>
</programlisting>
</informalexample>
</para>
<para>
Les membres cols et rows contiennent les numéros de colonne et de
champs.
</para>
<para>
<informalexample>
<programlisting role="php">
<?php
$result = dbx_query($link, "SELECT id FROM tbl");
echo "Taille du résultat: " . $result->rows . " x " . $result->cols .
"<br>\n";
?>
</programlisting>
</informalexample>
</para>
<para>
Le membre info n'est retourné que si DBX_RESULT_INFO et/ou
DBX_RESULT_ASSOC sont spécifié dans le paramètre
<parameter>flags</parameter>.
C'est un deuxième tableau, qui possède deux lignes ("name" and
"type"),
pour connaître les informations sur les colonnes.
</para>
<para>
<informalexample>
<programlisting role="php">
<?php
$result = dbx_query($link, "SELECT id FROM tbl");
echo "Nom de la colonne : " . $result->info["name"][0] . "<br>\n";
echo "Type de la colonne: " . $result->info["type"][0] . "<br>\n";
?>
</programlisting>
</informalexample>
</para>
<para>
Le membre data contient les données effectivement lues,
éventuellement associées à des noms de colonnes. Si
DBX_RESULT_ASSOC est utilisé, il est possible d'utiliser
<literal>$result->data[2]["fieldname"]</literal>.
</para>
<example>
<title>Exemple avec <function>dbx_query</function></title>
<programlisting role="php">
<?php
$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de
passe")
or die ("Impossible de se connecter");
$result = dbx_query($link, "SELECT id, parentid, description FROM tbl");
if ($result==0) echo "La requête a échoué\n<br>";
elseif ($result==1) {
echo "La requête a réussie\n<br>";
} else {
$rows=$result->rows;
$cols=$result->cols;
echo "<p>table dimension: {$result->rows} x {$result->cols}<br><table
border=1>\n";
echo "<tr>";
for ($col=0; $col<$cols; ++$col) {
echo
"<td>-{$result->info["name"][$col]}-<br>-{$result->info["type"][$col]}-</td>";
}
echo "</tr>\n";
for ($row=0; $row<$rows; ++$row){
echo "<tr>";
for ($col=0; $col<$cols; ++$col) {
echo "<td>-{$result->data[$row][$col]}-</td>";
}
echo "</tr>\n";
}
echo "</table><p>\n";
echo "table dimension: {$result->rows} x id, parentid, description<br><table
border=1>\n";
for ($row=0; $row<$rows; ++$row) {
echo "<tr>";
echo "<td>-{$result->data[$row]["id"]}-</td>";
echo "<td>-{$result->data[$row]["parentid"]}-</td>";
echo "<td>-{$result->data[$row]["description"]}-</td>";
echo "</tr>\n";
}
echo "</table><p>\n";
}
dbx_close($link);
?>
</programlisting>
</example>
<note>
<para>
Reportez vous aussi à documentation de la base de données que vous
utilisez.
</para>
</note>
<para>
Voir aussi
<function>dbx_connect</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.dbx-sort">
<refnamediv>
<refname>dbx_sort</refname>
<refpurpose>
Tri un résultat avec une fonction utilisateur
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>boolean <function>dbx_sort</function></funcdef>
<paramdef>dbx_result_object <parameter>result</parameter></paramdef>
<paramdef>string
<parameter>user_compare_function</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>dbx_sort</function> retourne <literal>TRUE</literal>
en cas de succès, et <literal>FALSE</literal> sinon.
</para>
<example>
<title>Exemple avec <function>dbx_sort</function></title>
<programlisting role="php">
<?php
function user_re_order ($a, $b) {
$rv = dbx_cmp_asc($a, $b, "parentid");
if (!$rv) $rv = dbx_cmp_asc($a, $b, "id");
return $rv;
}
$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de
passe")
or die ("Impossible de se connecter");
$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");
echo "Les données sont maintenant triées par id<br>";
dbx_query($result, "user_re_order");
echo "Les données sont maintenant triées par parentid, puis par
id<br>";
dbx_close($link);
?>
</programlisting>
</example>
<para>
Voir aussi
<function>dbx_cmp_asc</function> et
<function>dbx_cmp_desc</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.dbx-cmp-asc">
<refnamediv>
<refname>dbx_cmp_asc</refname>
<refpurpose>Compare deux lignes pour tri croissant</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>dbx_cmp_asc</function></funcdef>
<paramdef>array <parameter>row_a</parameter></paramdef>
<paramdef>array <parameter>row_b</parameter></paramdef>
<paramdef>string <parameter>columnname_or_index</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>dbx_cmp_asc</function> retourne 0 si row_a[$columnname_or_index]
est égal à row_b[$columnname_or_index], 1 si elle est plus grande et
-1 si elle est plus petite.
</para>
<example>
<title>Exemple avec <function>dbx_cmp_asc</function></title>
<programlisting role="php">
<?php
function user_re_order($a, $b) {
$rv = dbx_cmp_asc($a, $b, "parentid");
if (!$rv) {
$rv = dbx_cmp_asc($a, $b, "id");
return $rv;
}
}
$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de
passe")
or die ("Impossible de se connecter");
$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");
echo "Les données sont maintenant triées par id<br>";
dbx_query($result, "user_re_order");
echo "Les données sont maintenant triées par parentid, puis par
id<br>";
dbx_close($link);
?>
</programlisting>
</example>
<para>
Voir aussi
<function>dbx_sort</function> et
<function>dbx_cmp_desc</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.dbx-cmp-desc">
<refnamediv>
<refname>dbx_cmp_desc</refname>
<refpurpose>Compare deux lignes pour tri décroissant</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>dbx_cmp_desc</function></funcdef>
<paramdef>array <parameter>row_a</parameter></paramdef>
<paramdef>array <parameter>row_b</parameter></paramdef>
<paramdef>string
<parameter>columnname_or_index</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>dbx_cmp_desc</function> retourne 0 si row_a[$columnname_or_index]
est égal à row_b[$columnname_or_index], 1 si elle est plus grande et
-1 si elle est plus petite.
</para>
<example>
<title>Exemple avec <function>dbx_cmp_desc</function></title>
<programlisting role="php">
<?php
function user_re_order ($a, $b) {
$rv = dbx_cmp_asc($a, $b, "parentid");
if (!$rv) {
$rv = dbx_cmp_asc($a, $b, "id");
return $rv;
}
}
$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de
passe")
or die ("Impossible de se connecter");
$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");
echo "Les données sont maintenant triées par id<br>";
dbx_query($result, "user_re_order");
echo "Les données sont maintenant triées par parentid, puis par
id<br>";
dbx_close($link);
?>
</programlisting>
</example>
<para>
Voir aussi
<function>dbx_sort</function> et
<function>dbx_cmp_asc</function>.
</para>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->