root/tests/odbc-t4.php

/* [<][>][^][v][top][bottom][index][help] */
<HTML>
<HEAD>
<TITLE>Database test #4</TITLE>
</HEAD>
<BODY>
<H1>ODBC Test 4 - Cursors</H1>
<em>The following test requires your ODBC driver to support positioned updates</em><p>
<?php
  if(isset($dbuser)){
        echo "Connecting to $dsn as $dbuser\n";
        $conn = odbc_connect($dsn,$dbuser,$dbpwd);
        if(!$conn){
?>
<H2>Error connecting to database! Check DSN, username and password</H2>
<?php
        }else{
?>
 - OK<p>
Updating table "php_test"
<?php
                odbc_autocommit($conn, 0);
                if(($result = odbc_do($conn, 'select * from php_test where b>1002 for update'))){
                        $cursor = odbc_cursor($result);
                        if(($upd = odbc_prepare($conn,"update php_test set a=?, b=? where current of $cursor"))){
                                while(odbc_fetch_row($result)) {
                                        $params[0] = odbc_result($result, 1) . "(*)";
                                        $params[1] = odbc_result($result, 2) + 2000;
                                        odbc_execute($upd, $params);
                                }
                                odbc_commit($conn);
                        }
                }
                if($result && $upd){
?>
 - OK<p>
<H3>The table "php_test" should now contain the following values:</H3>
<table>
 <tr>
  <th>A</th><th>B</th><th>C</th><th>D</th>
 </tr>
 <tr>
  <td>test-1</td><td>1001</td><td>100.01</td><td>php3 - values 1</td>
 </tr>
 <tr>
  <td>test-2</td><td>1002</td><td>200.02</td><td>php - values 2</td>
 </tr>
 <tr>
  <td>test-3(*)</td><td>3003</td><td>300.03</td><td>php - values 3</td>
 </tr>
 <tr>
  <td>test-4(*)</td><td>3004</td><td>400.04</td><td>php - values 4</td>
 </tr>
 <tr>
  <td>test-5(*)</td><td>3005</td><td>500.05</td><td>php - values 5</td>
 </tr>
 <tr>
  <td colspan=4>
  <small><em><strong>Note:</strong> If you reload this testpage,<br>
  the three last rows will contain different<br>values in columns A and B</em></small>
  </td>
 </tr>
</table>

<H3>Actual contents of table "php_test":</H3>
<?php
                        $res = odbc_exec($conn,"select * from php_test");
                        odbc_result_all($res);
                }else{
                        echo "Your driver obviously doesn't support positioned updates\n<p>";
                }
?>
<p><HR width="50%"><p>
<A HREF="odbc-t5.php?dbuser=<?php echo "$dbuser&dsn=$dsn&dbpwd=$dbpwd"; ?>">Proceed to next test</A>
<?php
        }
} else {
?>
<form action=odbc-t4.php method=post>
<table border=0>
<tr><td>Database: </td><td><input type=text name=dsn></td></tr>
<tr><td>User: </td><td><input type=text name=dbuser></td></tr>
<tr><td>Password: </td><td><input type=password name=dbpwd></td></tr>
</table>
<input type=submit value=connect>

</form>
<?php 
  }
?>
</BODY>
</HTML>

/* [<][>][^][v][top][bottom][index][help] */