Termin funktionierte nicht mehr : PHP Code Fehler oder weil nodezahl vierstellig // einfaches Termin-Modul als Alternative
Eingetragen von Hamburger (8)
am 13.07.2009 - 10:21 Uhr in
am 13.07.2009 - 10:21 Uhr in
Hallo,
seit kurzem funktioniert die Terminfunktion auf meiner Seite nicht mehr, die zwei Jahre gut lief.
Die Ursache ich mir nicht klar, weil sich nichts erkennbares geändet hat, ausser dass die Nodes jetzt vier- statt dreistellig sind, also über nodes/1000 kamen.
Oder kann dies am PHP Code liegen:
<?php
//Terminsnippet mit tabellarischer Ansicht.
$term_id = 58;
$field_id = 43;
$list_length = 50;
$result = db_query("SELECT n.nid, n.title, n.created, fl.numeric_data
FROM {node} n INNER JOIN {term_node} tn ON n.nid = tn.nid INNER JOIN {flexinode_data} fl ON n.nid = fl.nid WHERE tn.tid = %d AND fl.field_id = %d ORDER BY fl.numeric_data ASC LIMIT %d", $term_id, $field_id, $list_length);
//$output .= '<div>Rows = ' . db_num_rows($result) . '</div>';
$output = "<table class=\"termin\">" . "\n";
while ($node = db_fetch_object($result)) {
//Um die Vergleichbarkeit von datumswerten herzustellen, müssen sowohl das Veranstaltungsdatum
//als auch das heutige Datum zunächst mit der Funktion mktime() in einen Unix-Timestamp umgewandelt
//werden.
$jahr = format_date($node->numeric_data, 'custom', 'Y');
$monat = format_date($node->numeric_data, 'custom', 'm');
$tag = format_date($node->numeric_data, 'custom', 'd');
$veranstaltungsdatum = mktime(0, 0, 0, $monat, $tag, $jahr);
$heute = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
if ($veranstaltungsdatum >= $heute){
$tag_monat_jahr = format_date($node->numeric_data, 'custom', 'd. F Y');
$output .= "<tr>" . "<td class=\"datum\">" . $tag_monat_jahr . "</td>" . "<td>" . l($node->title, "node/$node->nid") . "</td>" . "</tr>" . "\n";
}
}
$output .= "</table>" . "\n";
if ($tag_monat_jahr != "") {
print $output;
}
else {
print "<p>" . "Die aktuellen Termine finden Sie zur Zeit unter Infos." . "</p>";
}
?>
Oder gibt es einen Tipp für ein einfaches Termin- Modul für drupal 4.7?
(es sollen nur die anstehenden - 0-maximal 10 - Termine angezeigt werden)
Beste dankende Grüße
Hamburger
- Anmelden oder Registrieren um Kommentare zu schreiben
Re: Termin funktionierte nicht mehr ...
am 13.07.2009 - 19:46 Uhr
seit kurzem funktioniert die Terminfunktion auf meiner Seite nicht mehr, die zwei Jahre gut lief.
Meine Glaskugel sagt mir, das keine 10, sondern 23 Einträge angezeigt werden. Keiner davon ist jedoch ein Termin. Außerdem sind sie nicht chronologisch geordnet. Falls ich falsch liege, dann sag bescheid. Ich müsste dann meine Glaskugel zur Reparatur bringen.
--
Danke @ traxer
am 13.07.2009 - 23:32 Uhr
Hallo,
Danke für die Antwort, aber ich muss zugeben, dass ich kein Wort so recht verstanden habe:
Meine Glaskugel sagt mir, das keine 10, sondern 23 Einträge angezeigt werden. Keiner davon ist jedoch ein Termin. Außerdem sind sie nicht chronologisch geordnet. Falls ich falsch liege, dann sag bescheid. Ich müsste dann meine Glaskugel zur Reparatur bringen.
Das sagt mir genauso wenig, wie der PHP Code.
Es wird wie gesagt gar nicht mehr angezeigt und vorher waren es immer 0 bis maximal 5 Termine, mehr wurden nie eingegeben, also weiß ich nicht ob bei 10, 23 Schluss wäre...
Es waren aber alles chronologisch geordnete Termine, jetzt habe ich lediglich den Text geändert, dass die Termine vorübergehend in einem anderen Block angezeigt werden.
Also ich sehe in meinem Kaffeesatz keinen Grund irgendwelche Glaskugeln zur Reparatur zu bringen ;-)
Und sorry, falls meine Frage nervt