[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Veranstaltungskalender + Info für Startseite - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
musicstar
Beiträge: 42
Registriert: 24. Aug 2004, 22:11

Veranstaltungskalender + Info für Startseite

3. Dez 2006, 16:24

Hallo Zusammen,
ich suche Hilfe. -> Da GehirnBlockade ;-)
Mein Problem:
Ich möchte gerne auf der Startseite eine kleine Info anzeigen lassen welche 5 Events als nächstes folgen.

Dazu will ich im sagen das er das aktuelle Datum nimmt, und ab diesem die nächsten 5 events auflistet.

Den php Code bringe ich mittels des Modul Minibeispiel PHP auf die Seite.

Mein bisheriger Output (ist aus dem Forum zusammengesucht):

Code: Alles auswählen

<?php
      
$aktuell = date (d.m.Y);


      $sql = new sql();
      $sql->setQuery('SELECT fDATE, fTITEL FROM `rex_64_events` WHERE 1 and fSTATUS="Aktiv" ORDER BY `fDATE` ASC  LIMIT 5;
');
   // Tabellenkopf fuer Tabelle aus mehreren Datensaetzen
echo "$aktuell";   
echo '<table>';
   echo '<tr>';
   echo '<td bgcolor="#ff00ff"><b>Datum</b></td>';
   echo '<td bgcolor="#ff00ff"><b>Veranstaltung</b></td>';
   echo '</tr>';

   // Datenssaetze holen
   for($i = 0; $i < $sql->getRows(); $i++)
   {
      // Ausgabe: eine Zeile aus 3 Tabellenfeldern

      echo '   <tr>';
      echo '      <td>'.$sql->getValue("fDATE").'</td>';
      echo '      <td>'.$sql->getValue("fTITEL").'</td>';
      echo '   </tr>';
      $sql->next();
   }
   // abschliessen der Tabelle
   echo '</table>';
   echo '';
?>
Danke

Gruß
Markus

ingoruck
Beiträge: 108
Registriert: 10. Aug 2006, 11:43
Wohnort: Berlin
Kontaktdaten: Website

4. Dez 2006, 01:06

hallo markus,

was ich an deinem Code nicht verstehe ist:

wenn du ein datum ermittelst, musst du es auch in den where-clause deines sql-befehls einbringen. ich kenne das addon nicht genau - aber irgendetwas in der art "... and datum >= '$datum' ..." muss da schon stehen. dein limit-befehl sollte (ausser ich täusche mich) auch "LIMIT 0, 5" sein.

grüße
ingo
www.new-urban-creation.de
Websites und Web-Anwendungen

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

4. Dez 2006, 09:06

Hej,

schreibe den Anfang mal bitte so:

Code: Alles auswählen

$sql = new sql();
$sql->debugsql=1;
Diese 1 (eins) oder das l (el) hinter WHERE steht da sehr allein. da muss noch was zusätzlich rein.

@ingo
LIMIT 5 ist richtig, wenn er nur 5 Werte bekommen möchte. Deine Variante ist die Langform.

vg Thomas

musicstar
Beiträge: 42
Registriert: 24. Aug 2004, 22:11

Peinlich :-)

4. Dez 2006, 16:06

Danke für eure Postings. :-)

Habe heute morgen mit einem Kollegen das Thema nochmal aufgerollt.
Jetzt geht es.

Es sieht dann so aus:

Code: Alles auswählen

<?php

$aktuell = date (Ymd);
$zeit=date (His);

$sql = new sql();

$sql->setQuery("SELECT fDATE, fTITEL FROM rex_64_events WHERE fDATE > $aktuell or (fDATE=$aktuell and fTIME > $zeit) and fSTATUS='Aktiv' ORDER BY fDATE ASC LIMIT 5;");
.
.
.
Vielleicht ist das ja auch für den einen oder anderen interessant...

Gruß
Markus

P.S. was jetzt noch interessant wäre - einen Link von der Info auf das entsprechende Ereignis. ;-)

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

4. Dez 2006, 16:18

Hi,
tbaddade hat geschrieben:@ingo
LIMIT 5 ist richtig, wenn er nur 5 Werte bekommen möchte. Deine Variante ist die Langform.
das ist nicht ganz richtig.. (Die erklärung passt hier nur, weil das sehr spezifisch ist)

Wenn man 2 Parameter angibt, dann kann man nicht nur die Schrittweite des Limits, sondern auch das StartElement angeben.

Gruß,
Markus

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

4. Dez 2006, 16:25

Hej,
kills hat geschrieben:(Die erklärung passt hier nur, weil das sehr spezifisch ist)
Es ging ja hier darum und nicht um eine eventuelle blätterbare Navigation zu erhalten.

vg Thomas

musicstar
Beiträge: 42
Registriert: 24. Aug 2004, 22:11

Fertig :-)

4. Dez 2006, 16:46

Dank meines Kollegen. :-)

Werde versuchen das ganze noch etwas mehr anzupassen.
Trotzdem Danke. :-)

Code: Alles auswählen

<?php

$aktuell = date (Ymd);
$zeit=date (His);


      $sql = new sql();
//$sql->debugsql=1;
      $sql->setQuery("SELECT fID, fDATE, fTITEL FROM rex_64_events WHERE fDATE > $aktuell or (fDATE=$aktuell and fTIME > $zeit) and fSTATUS='Aktiv' ORDER BY fDATE ASC LIMIT 5;");
   // Tabellenkopf fr Tabelle aus mehreren Datens�zen
echo "$aktuell";   
echo '<table>';
   echo '<tr>';
   echo '<td bgcolor="#ff00ff"><b>Datum</b></td>';
   echo '<td bgcolor="#ff00ff"><b>Veranstaltung</b></td>';
   echo '</tr>';

   // Datens�ze holen
   for($i = 0; $i < $sql->getRows(); $i++)
   {
      // Ausgabe: eine Zeile aus 3 Tabellenfeldern

      echo '   <tr>';
      
      //echo '      <td>';
      //echo date("d.m.",''.$sql->getValue("fDATE").'');
      //echo '</td>';
      
      $atemp = explode('-',$sql->getValue("fDATE"));


    echo '      <td>'.$atemp[2].'.'.$atemp[1].'.'.$atemp[0].'</td>';
      echo ' <td><a href="http://www.xxxxxxx.de/index.php?article_id=1&details='.$sql->getValue('fID').'&ven=&cat=&year=2006&view=">'.$sql->getValue("fTITEL").'</a></td>';
      echo '   </tr>';
      $sql->next();
   }
   // abschlie�n der Tabelle
   echo '</table>';
   echo '';
?>

soulstyled.de
Beiträge: 9
Registriert: 17. Okt 2006, 22:36
Kontaktdaten: ICQ

24. Dez 2006, 13:15

mmm schöne Sache, ich bräuchte es nur Jahresübergreifend!
Die aktuelle Version bechränkt sich ja auf 2006 bzw dann 2007.

// Edit:
Gar net schwer, den letzten Teil des Links zum Event kann man ja auch weglassen. Also dann:

Code: Alles auswählen

.
.
.
echo ' <td><a href="http://www.domain.de/index.php?article_id=25&details='.$sql->getValue('fID').'">'.$sql->getValue("fTITEL").'</a></td>';
.
.
.
[/code]
(__/)
(o.o )
(> < ) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

d-e-n-n-i-s
Beiträge: 3
Registriert: 2. Apr 2007, 18:19

Genau das habe ich gesucht

11. Apr 2007, 11:03

Dank an die, die sich die Mühe gemacht haben dies ausarbeiten. Genau das habe ich gesucht. :D

Zurück zu „Allgemeines [R3]“