Seite 1 von 1

Verständisfrage $db->next_record()

Verfasst: Mo 30. Apr 2007, 19:20
von malsdgtac
Hallo,

es ist doch so, dass man mit

Code: Alles auswählen

$db->next_record()
einen ganzen Datensatz "einliest", denn mit

Code: Alles auswählen

$db->f("id")
bekomme ich dann den Wert "id".

Wie kann ich jetzt den ganzen Datensatz durchlaufen? Also ich stelle mir das in etwas so vor:

Code: Alles auswählen

$meinarray = $db->next_record();
foreach ($meinarray as $wert) {
...
}
Kann mir bitte jemand weiterhelfen? Danke!

Verfasst: Mo 30. Apr 2007, 19:24
von Dodger77
Besser wäre:

Code: Alles auswählen

while ($db->next_record()) {
  echo $db->f("name");
}

Verfasst: Mo 30. Apr 2007, 19:36
von malsdgtac
Hallo Dodger,

danke für deine Hilfe.

Was mache ich jetzt allerdings, wenn ich "name" nicht kenne, bzw. nicht alles einzeln angeben will? Also eine Schleife, die jedes einzelne

Code: Alles auswählen

$db->f("???"); 
durchlaufen soll?

Verfasst: Mo 30. Apr 2007, 19:47
von Dodger77
Schau dir mal die Datei "/conlib/db_mysql.inc" an. Dadurch sollten die Möglichkeiten der DB_Contenido-Klasse deutlich werden.

Teste mal folgenden Code. Vielleicht hilft dir das weiter:

Code: Alles auswählen

while ($db->next_record()) {
  print_r($db->Record);
}

Verfasst: Di 1. Mai 2007, 06:48
von tinof
Schau dir mal die Datei "/conlib/db_mysql.inc" an. Dadurch sollten die Möglichkeiten der DB_Contenido-Klasse deutlich werden.
Müßte das nicht so gehen ?

Code: Alles auswählen

while ($db->next_record()) {
  for (i=0; i < $db->num_fields(); i ++) {
    echo $db->f($i);
  }
}
Oder hab' ich die php - Array noch nicht richtig verstanden ?

P.S. Man bekommt allerdings nur die Inhalte - ohne den Spaltennamen zu kennen ist die Interpretation problematisch.

Verfasst: Di 1. Mai 2007, 08:53
von MichFress
Dafür gibt's eine Funktion:

Code: Alles auswählen

$db->query($sql);
while($db->next_record()){
      $arr =  $db->copyResultToArray();
}

Verfasst: Di 1. Mai 2007, 09:27
von malsdgtac
Hallo an euch alle,

vielen Dank für Eure Hilfe.

Ich habe mich jetzt für folgende Variante entschieden:

Code: Alles auswählen

while ($db->next_record()) { 
	$arr =  $db->copyResultToArray();
	foreach ($arr as $wert){ 
		echo $wert."<br>"; 
	}  
}
Das gibt mir jetzt einfach alles aus, was in $db->next_reccord() enthalten ist.