dbase_get_record_with_names

(PHP 4, PHP 5)

dbase_get_record_with_names Получает запись из базы данных в виде ассоциативного массива

Описание

array dbase_get_record_with_names ( int $dbase_identifier , int $record_number )

Получает запись из базы данных dBase в виде ассоциативного массива (вместе с именами соответствующих полей).

Список параметров

dbase_identifier

Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().

record_number

Индекс записи. (Здесь соответствует физическому номеру записи. - прим. пер.)

Возвращаемые значения

Ассоциативный массив с данными строки. Массив будет включать в себя ключ deleted который равен 1, если запись помечена на удаление (см. dbase_delete_record()). Возвращает и пустые записи.

Каждое поле конвертируется в соответствующий тип PHP, за исключением:

  • Даты остаются в виде строк.
  • Целые числа, которые могли бы привести к переполнению (> 32 бита) возвращаются в виде строк.

В случае ошибки, dbase_get_record_with_names() возвращает FALSE.

Примеры

Пример #1 Список всех зарегистрированных пользователей в базе данных

<?php
// открываем базу в режиме чтения
$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";
      }
  }
}
// Прим. пер. -
// к полученным с помощью dbase_get_record_with_names значениям записи 
// обращаемся по имени - $row['ismember'],
// а в случае с dbase_get_record к значениям записи 
// обращаемся по номеру - $row[4]
?>

Смотрите также

  • dbase_get_record() - Получает записи из базы данных, как из индексированного массива

Коментарии

Автор:
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);
}
?>
2005-07-02 20:52:38
http://php5.kiev.ua/manual/ru/function.dbase-get-record-with-names.html
Автор:
$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.
2005-09-15 19:32:19
http://php5.kiev.ua/manual/ru/function.dbase-get-record-with-names.html

    Поддержать сайт на родительском проекте КГБ