Hi,
ich beschäftige mich erst seit kurzem mit OOP und prompt bin ich auf ein Problem gestoßen. In folgendem Script soll zunächst ermittelt werden, wieviele Einträge dem Kriterium „publ_id“ (in dem Fall „21“) entsprechen (Datenbankabfrage):
$field=‚publ_id‘;
$publ_rel_authors_list->get_entry_exact( 0,$author_rel_received_data, $field, 21 );
$num_author_rel = $publ_rel_authors_list->count_entries_exact( 0,$author_rel_received_data, $field, 21 );
die Anzahl der Einträge aus der DB entspricht hier exakt 3.
im nächsten Schritt gehe ich diese 3 Einträge aus der DB durch:
for($i=1;$iget_next_entry( $author_rel_received_data );
}
am Ende jedes Schleifendurchlaufs wird im assoziativen Array $author_rel_received_data der gesamte Datensatz abgelegt. Das heisst, wenn ich die ID des Datensatzes ausgeben möchte, kann ich diese über
echo $author_rel_received_data[‚ID‘];
ausgeben lassen.
Soweit so gut. Sobald ich jedoch innerhalb der Schleife nochmals das Objekt „$publ_rel_authors“_list benötige, um den Verweis zu einer anderen Tabelle zu ermitteln, die nicht numerische Daten von Autoren enthält, bekomme ich im Array $author_rel_received_data[] plötzlich ganz andere Werte (Dieses bleibt innerhalb der Schleife jedoch unverändert). So befinde ich mich im letzten Schleifendurchlauf urplötzlich nicht mehr in den Datensätzen, die ursprünglich dem Suchkriterium $field=21 entsprechen. Überprüft habe ich dies, indem ich stets $author_rel_received_data[„publ_id“] ausgebe und dies nicht mehr die 21 ist d.h die Schleife wird zwar dreimal durchlaufen, jedoch nicht mehr innerhalb der Datensätze, die mich interessieren.
Ich befürchte mit meinen Kenntnissen der OOP komme ich an dieser Stelle nicht weiter.
Bin dankbar für jede Hilfe
Peeayoo