Array Field ausgeben (PHP) (gelöst)
Eingetragen von Hacky (255)
am 09.02.2011 - 10:46 Uhr in
am 09.02.2011 - 10:46 Uhr in
Hallo ich bekomm einfach den inhalt aus einem Array nicht ausgegeben :/ was mach ich den falsch ?
<?php
$sql = "SELECT * FROM {node} WHERE type = 'anwesendheit' AND status = 1";
$result = db_query(db_rewrite_sql($sql));
while ($data = db_fetch_object($result)) {
$node = node_load($data->nid);
// Ausgaben geht
print '<a href="node/' . $node->nid. '">' . $node->title . '</a>';
print "<p></p>";
// Ausgaben geht
print ($node->field_uebungstonieren[0]["value"]);
// Schauen was im Array steht (wird nichts angeziegt)
print "<pre>";
print_r($node->field_anwesenheit_anwesenheit[$count]["value"]);
print "</pre>";
// Array ausgeben funktioniert leider nicht :(
for($count = 0; $count < 10; $count++){
print $temp3 = $node->field_anwesenheit_anwesenheit[$count]["value"];
//print "$count";
}
}
?>
- Anmelden oder Registrieren um Kommentare zu schreiben
Code
am 09.02.2011 - 11:05 Uhr
Hallo.
was mach ich den falsch ?
So Einiges ...
<?php
$sql = "SELECT * FROM {node} WHERE type = 'anwesendheit' AND status = 1";
$result = db_query(db_rewrite_sql($sql));
?>
Bitte verwende Parameter für [api:db_query:6] und übergebe die Werte nicht einfach so im SQL-String:
<?php
$sql = "SELECT * FROM {node} WHERE type = '%s' AND status = %d";
$result = db_query(db_rewrite_sql($sql), 'anwesendheit', 1);
?>
<?php
print_r($node->field_anwesenheit_anwesenheit[$count]["value"]);
?>
Wenn Du Warnungen von PHP ausgeben lassen würdest (das kannst Du in der php.ini konfigurieren), würde an dieser Stelle schonmal eine Warnung auftauchen:
$count
ist nicht definiert.Verwende doch mal das Modul [do:devel Devel] um die Inhalte des Feldes anzuzeigen. Dann siehst Du, wie genau die Struktur aufgebaut ist:
<?php
dsm($node->field_anwesenheit_anwesenheit);
?>
Heisst denn das Feld wirklich so? Also mit 2x "_anwesenheit"?
Stefan
Okay verwende nun
am 09.02.2011 - 11:46 Uhr
Okay verwende nun db_query().
Also Devel verwende ich wenn ich nun mache erhalt ich nur eine leere box, zwar ist die Box von der Höhe sehr groß aber es steht kein inhalt drinnen.
<?php
dsm($node->field_anwesenheit_anwesenheit);
?>
Heisst denn das Feld wirklich so? Also mit 2x "_anwesenheit"?
ja das Feld heißt wirklich so ... node: anwesenheit feld: anwesenheit
etwas unglücklich gewählt ^^
Gruß hacky
dsm
am 09.02.2011 - 12:57 Uhr
ja das Feld heißt wirklich so ... node: anwesenheit feld: anwesenheit
Ähm, das legt noch nicht den Feldnamen in der Form fest.
Mach mal
<?php dsm($node); ?>
und dann einen Screenshot des expandierten (!) Ergebnisses.Stefan
Okay hab ich gemacht
am 09.02.2011 - 13:08 Uhr
Okay hab ich gemacht Screenshot ist im Anhang.
Gruß Hacky
Feld
am 09.02.2011 - 13:29 Uhr
Es wäre schön gewesen, wenn "field_anwesenheit_anwesenheit" auch expandiert sein würde ...
Naja:
<?php
foreach ($node->field_anwesenheit_anwesenheit as $field_value) {
dsm($field_value);
}
?>
Sorry hab nicht so die Ahnung
am 09.02.2011 - 13:46 Uhr
Sorry hab nicht so die Ahnung davon :)
Aber hast mir weitergeholfen besten dank =)
Gruß Lars