PHP 5.6.0RC3 is available

dbase_get_record_with_names

(PHP 4, PHP 5)

dbase_get_record_with_names Lit un enregistrement dans une base dBase, sous la forme d'un tableau associatif

Description

array dbase_get_record_with_names ( int $dbase_identifier , int $record_number )

dbase_identifier retourne les données de l'enregistrement record dans un tableau associatif.

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

record_number

L'index de l'enregistrement.

Valeurs de retour

L'enregistrement, sous la forme d'un tableau associatif. Ceci inclut également une clé nommée deleted qui est définie à 1 si l'enregistrement a été marqué pour effacement (voir la fonction dbase_delete_record()).

Chaque champ est converti en un type PHP approprié, excepté :

  • Les dates sont laissées en tant que chaînes de caractères.
  • Les entiers qui peuvent causer un dépassement de mémoire tampon (> 32 bits) sont retournés sous forme de chaînes de caractères.

En cas d'erreur, dbase_get_record_with_names() retourne FALSE.

Exemples

Exemple #1 Liste tous les membres enregistrés dans la base de données

<?php
// Ouverture en mode lecture seul
$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 
"Membre #$i: " trim($row['name']) . "\n";
    }
  }
}
?>

Voir aussi

add a note add a note

User Contributed Notes 2 notes

up
1
bishop
9 years ago
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);
}
?>
up
0
Anonymous
8 years ago
$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.
To Top