Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : dBase Functions : dbase_get_record_with_names

dbase_get_record_with_names

Gets a record from a database as an associative array (PHP 4, PHP 5)
array dbase_get_record_with_names ( int dbase_identifier, int record_number )

Gets a record from a dBase database as an associative array.

Parameters

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record_number

The index of the record.

Return Values

An associative array with the record. This will also include a key named deleted which is set to 1 if the record has been marked for deletion (see dbase_delete_record()).

Each field is converted to the appropriate PHP type, except:

  • Dates are left as strings.
  • Integers that would have caused an overflow (> 32 bits) are returned as strings.

On error, dbase_get_record_with_names() will return FALSE.

Examples

Example 478. Listing all the registered members in the database

<?php
// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if (
$db) {
 
$record_numbers = dbase_numrecords($db);
 for (
$i = 1; $i <= $record_numbers; $i++) {
     
$row = dbase_get_record_with_names($db, $i);
     if (
$row['ismember'] == 1) {
         echo
"Member #$i: " . trim($row['name']) . "\n";
     }
 }
}
?>


Code Examples / Notes » dbase_get_record_with_names

bishop

I would like to emphasize that record numbers begin with 1, not 0. So, this is wrong:
<?php
$recCnt = dbase_numrecords($fh);
for ($recNum = 0; $recNum < $recCnt; $recNum++) {
   // wrong! first record will fail
   $record = dbase_get_record_with_names($fh, $recNum);
}
?>
This is right:
<?php
$recCnt = dbase_numrecords($fh);
for ($recNum = 1; $recNum <= $recCnt; $recNum++) {
   // right! record #s begin with 1, don't forget <=
   $record = dbase_get_record_with_names($fh, $recNum);
}
?>


16-sep-2005 12:32

$foo_db = dbase_open ( 'foo.dbf', 0);
if ($foo_db) {
 $rn = dbase_numrecords($foo_db);
 echo "Record 0: ";
 $test = dbase_get_record_with_names($foo_db, 0);
 echo $test['deleted'] . " FOO BAR: '" . $test['BAR'] . "'\n";
 echo "Record n+1: ";
 $test = dbase_get_record_with_names($foo_db, $rn+1);
 echo $test['deleted'] . " FOO BAR: '" . $test['BAR'] . "'\n";
}
Gives:
Record 0: 0 FOO BAR: ' '
Record n+1:
Warning: Tried to read bad record 30 in ./DisplayAccounts.php on line 21
FOO BAR: ''
0 is not an error record, it's just empty - and actually, not quite empty, as you see BAR got a single space.


Change Language


Follow Navioo On Twitter
dbase_add_record
dbase_close
dbase_create
dbase_delete_record
dbase_get_header_info
dbase_get_record_with_names
dbase_get_record
dbase_numfields
dbase_numrecords
dbase_open
dbase_pack
dbase_replace_record
eXTReMe Tracker