PHP Doku:: Liefert einen Datensatz aus einer Datenbank als assoziatives Array - function.dbase-get-record-with-names.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungendBasedBase Funktionendbase_get_record_with_names

Ein Service von Reinhard Neidl - Webprogrammierung.

dBase Funktionen

<<dbase_get_header_info

dbase_get_record>>

dbase_get_record_with_names

(PHP 4, PHP 5)

dbase_get_record_with_namesLiefert einen Datensatz aus einer Datenbank als assoziatives Array

Beschreibung

array dbase_get_record_with_names ( int $dbase_identifier , int $record_number )

Gibt einen Datensatz aus einer dBase-Datenbank als assoziatives Array zurück.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

record_number

Der Index des Datensatzes

Rückgabewerte

Ein assoziatives Array mit dem Datensatz. Dieses Array enthält einen zusätzlichen Schlüssel namens deleted, der auf 1 gesetzt ist, wenn der Datensatz zum Löschen markiert wurde (siehe dbase_delete_record()).

Jedes Feld wird in den entsprechenden PHP-Typ umgewandelt, ausgenommen:

  • Datumsfelder werden als Zeichenkette zurückgegeben.
  • Ganzzahlen, die zu einem Überlauf geführt hätten (> 32 Bit), werden als Zeichenkette zurückgegeben.

Falls ein Fehler auftritt, gibt dbase_get_record_with_names() FALSE zurück.

Beispiele

Beispiel #1 Liste aller in der Datenbank eingetragener Mitglieder

<?php
// im nur-lesen-Modus öffnen
$db dbase_open('/tmp/test.dbf'0);

if (
$db) {
  
$anzahl_datensaetze dbase_numrecords($db);
  for (
$i 1$i <= $anzahl_datensaetze$i++) {
      
$datensatz dbase_get_record_with_names($db$i);
      if (
$datensatz['IstMitglied'] == 1) {
          echo 
"Mitglied #$i: " trim($datensatz['Name']) . "\n";
      }
  }
}
?>

Siehe auch


2 BenutzerBeiträge:
- Beiträge aktualisieren...

16.09.2005 1: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.
bishop
3.07.2005 2: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);
}
?>



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)