<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

<refentry xml:id="function.cubrid-move-cursor" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <refnamediv>
  <refname>cubrid_move_cursor</refname>
  <refpurpose>Move the cursor in the result</refpurpose>
 </refnamediv>

 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>bool</type><methodname>cubrid_move_cursor</methodname>
   <methodparam><type>resource</type><parameter>req_identifier</parameter></methodparam>  
   <methodparam><type>int</type><parameter>offset</parameter></methodparam>  
   <methodparam choice="opt"><type>int</type><parameter>origin</parameter><initializer>CUBRID_CURSOR_CURRENT</initializer></methodparam>  
  </methodsynopsis>
  <para>
    The <function>cubrid_move_cursor</function> function is used to move the
    current cursor location of <parameter>req_identifier</parameter> by the
    value set in the <parameter>offset</parameter> argument, to the direction
    set in the <parameter>origin</parameter> argument. To set the
    <parameter>origin</parameter> argument, you can use <constant>CUBRID_CURSOR_FIRST</constant>
    for the first part of the result, <constant>CUBRID_CURSOR_CURRENT</constant> for the current
    location of the result, or <constant>CUBRID_CURSOR_LAST</constant> for the last part of the
    result. If <parameter>origin</parameter> argument is not explicitly
    designated, then the function uses <constant>CUBRID_CURSOR_CURRENT</constant> as its default
    value.
  </para>
  <para>
    If the value of cursor movement range goes over the valid limit, then the
    cursor moves to the next location after the valid range for the cursor.
    For example, if you move 20 units in the result with the size of 10, then
    the cursor will move to 11th place and return <constant>CUBRID_NO_MORE_DATA</constant>.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
  <variablelist>
    <varlistentry>
  <term><parameter>req_identifier</parameter></term>
  <listitem><para>Request identifier.</para></listitem>
   </varlistentry>
   <varlistentry>
  <term><parameter>offset</parameter></term>
  <listitem><para>Number of units you want to move the cursor.</para></listitem>
   </varlistentry>
  <varlistentry>
  <term><parameter>origin</parameter></term>
  <listitem><para>Location where you want to move the cursor from <constant>CUBRID_CURSOR_FIRST</constant>, <constant>CUBRID_CURSOR_CURRENT</constant>, <constant>CUBRID_CURSOR_LAST</constant>.</para></listitem>
   </varlistentry>
  </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   &return.success;
  </para>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <example>
   <title><function>cubrid_move_cursor</function> example</title>
   <programlisting role="php">
<![CDATA[
<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_move_cursor($req, 1, CUBRID_CURSOR_LAST);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_CURRENT);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>
]]>
   </programlisting>
&example.outputs;
    <screen>
<![CDATA[
array(2) {
  [0]=>
  string(1) "G"
  [1]=>
  string(4) "Gold"
}
array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}
]]>
   </screen>
  </example>
 </refsect1>

  <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
   <member><function>cubrid_execute</function></member>   
   </simplelist>
  </para>
  </refsect1>
 
</refentry>

<!-- 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
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
