$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.
dbase_get_record_with_names
(PHP 4, PHP 5)
dbase_get_record_with_names — Gibt einen Datensatz einer dBase-Datenbank als assoziatives Array zurück
Beschreibung:
array dbase_get_record_with_names
( int $dbase_identifier
, int $record
)
Gibt die Daten von record in einem assoziativen Array zurück. Das Array enthält auch einen assoziativen Bereich, der 'deleted' heisst und auf 1 steht, wenn der Datensatz als gelöscht markiert ist (siehe dbase_delete_record()).
Jedes Feld wird in den entsprechenden PHP-Typ konvertiert (Datumsangaben werden zu Zeichenketten / Strings).
dbase_get_record_with_names
15-Sep-2005 04:32
bishop
02-Jul-2005 05:52
02-Jul-2005 05:52
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);
}
?>
