dbs             Tue Aug 30 21:33:48 2005 EDT

  Modified files:              
    /phpdoc/en/reference/pdo/functions  PDOStatement-fetchAll.xml 
  Log:
  Document PDO_FETCH_COLUMN, PDO_FETCH_UNIQUE, and PDO_FETCH_GROUP.
  
  
http://cvs.php.net/diff.php/phpdoc/en/reference/pdo/functions/PDOStatement-fetchAll.xml?r1=1.6&r2=1.7&ty=u
Index: phpdoc/en/reference/pdo/functions/PDOStatement-fetchAll.xml
diff -u phpdoc/en/reference/pdo/functions/PDOStatement-fetchAll.xml:1.6 
phpdoc/en/reference/pdo/functions/PDOStatement-fetchAll.xml:1.7
--- phpdoc/en/reference/pdo/functions/PDOStatement-fetchAll.xml:1.6     Fri May 
20 14:51:02 2005
+++ phpdoc/en/reference/pdo/functions/PDOStatement-fetchAll.xml Tue Aug 30 
21:33:45 2005
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='iso-8859-1'?>
-<!-- $Revision: 1.6 $ -->
+<!-- $Revision: 1.7 $ -->
 <!-- Generated by xml_proto.php v2.1. Found in /scripts directory of phpdoc. 
-->
   <refentry id="function.PDOStatement-fetchAll">
    <refnamediv>
@@ -13,6 +13,7 @@
     <methodsynopsis>
      <type>array</type><methodname>PDOStatement::fetchAll</methodname>
      <methodparam 
choice="opt"><type>int</type><parameter>fetch_style</parameter></methodparam>
+     <methodparam 
choice="opt"><type>int</type><parameter>column_index</parameter></methodparam>
     </methodsynopsis>
 
     &warn.experimental.func;
@@ -30,6 +31,30 @@
          <function>PDOStatement::fetch</function>. Defaults to
          <literal>PDO_FETCH_BOTH</literal>.
         </para>
+        <para>
+         To return an array consisting of all values of a single column from
+         the result set, specify <literal>PDO_FETCH_COLUMN</literal>.
+        </para>
+        <para>
+         To fetch only the unique values of a single column from the result 
set,
+         bitwise-OR <literal>PDO_FETCH_COLUMN</literal> with
+         <literal>PDO_FETCH_UNIQUE</literal>.
+        </para>
+        <para>
+         To return an associative array grouped by the values of a specified
+         column, bitwise-OR <literal>PDO_FETCH_COLUMN</literal> with
+         <literal>PDO_FETCH_GROUP</literal>.
+        </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><parameter>column_index</parameter></term>
+       <listitem>
+        <para>
+         Returns the indicated 0-indexed column when the value of
+         <parameter>fetch_style</parameter> is
+         <literal>PDO_FETCH_COLUMN</literal>. Defaults to <literal>0</literal>.
+        </para>
        </listitem>
       </varlistentry>
      </variablelist>
@@ -97,6 +122,92 @@
 ]]>
       </screen>
      </example>
+     <example><title>Fetching all values of a single column from a result 
set</title>
+      <para>
+       The following example demonstrates how to return all of the values of a
+       single column from a result set, even though the SQL statement itself
+       may return multiple columns per row.
+      </para>
+      <programlisting role="php">
+<![CDATA[
+<?php
+$sth = $dbh->prepare("SELECT name, colour FROM fruit");
+$sth->execute();
+
+/* Fetch all of the values of the first column */
+$result = $sth->fetchAll(PDO_FETCH_COLUMN, 0);
+var_dump($result);
+?>
+]]>
+      </programlisting>
+      &example.outputs;
+      <screen>
+<![CDATA[
+Array(3)
+(
+    [0] =>
+    string(5) => apple
+    [1] =>
+    string(4) => pear
+    [2] =>
+    string(10) => watermelon
+)
+]]>
+      </screen>
+     </example>
+     <example><title>Grouping all values by a single column</title>
+      <para>
+       The following example demonstrates how to return an associative array
+       grouped by the values of the specified column in the result set. The
+       array contains three keys: values <literal>apple</literal> and
+       <literal>pear</literal> are returned as arrays that contain two
+       different colours, while <literal>watermelon</literal> is
+       returned as an array that contains only one colour.
+      </para>
+      <programlisting role="php">
+<![CDATA[
+<?php
+$insert = $dbh->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
+$insert->execute('apple', 'green');
+$insert->execute('pear', 'yellow');
+
+$sth = $dbh->prepare("SELECT name, colour FROM fruit");
+$sth->execute();
+
+/* Group values by the first column */
+var_dump($sth->fetchAll(PDO_FETCH_COLUMN|PDO_FETCH_GROUP));
+?>
+]]>
+      </programlisting>
+      &example.outputs;
+      <screen>
+<![CDATA[
+array(3) {
+  ["apple"]=>
+  array(2) {
+    [0]=>
+    string(5) "green"
+    [1]=>
+    string(3) "red"
+  }
+  ["pear"]=>
+  array(2) {
+    [0]=>
+    string(5) "green"
+    [1]=>
+    string(6) "yellow"
+  }
+  ["watermelon"]=>
+  array(1) {
+    [0]=>
+    string(5) "green"
+  }
+}
+
+]]>
+      </screen>
+     </example>
+
     </para>
    </refsect1>
 

Reply via email to