[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Veranstaltungskalender mit Eintragung
Seite 1 von 2

Veranstaltungskalender mit Eintragung

Verfasst: 20. Sep 2016, 23:20
von fw-thomas
Hallo zusammen,
für unseren Internen Bereich wollte ich einen Kalender erstellen, wo sich die Kameraden zur Brandwache eintragen können.

Hat jemand eine Idee, mit welchen Addon, oder anderen Kalender (Google) erschaffen kann?


über Ideen und Vorschläge wüde ich mich sehr freuen ...

mfg
thomas

Re: Veranstaltungskalender mit Eintragung

Verfasst: 22. Sep 2016, 14:36
von Cheffchen
Hallo,

am einfachsten ist wohl xForm, damit eine Tabelle erstellen und dann kannst ja mit einfachen Formular daten rein scheiben, hast damit nicht schon was gemacht?

Die Ausgabe kommt drauf an was dann für Daten gespeichert hast.

Cheffchen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 22. Sep 2016, 23:40
von fw-thomas
ja ich bin damit angefangen und haben versagt ..
daher hat sich jemand anderes das Problem durch ein Addon gelöst ..

mfg

Re: Veranstaltungskalender mit Eintragung

Verfasst: 23. Sep 2016, 09:17
von Cheffchen
Hallo,
ach so.

die frage ist was verstehst du unter "Internen Bereich"?
Redaxo intern oder ein interner Bereich auf der Homepage, also per PW einige Seiten gesperrt.

Das ist eigentlich recht einfach, brauch ja nur eine Tabelle mit Wann & Wer und ein einfaches Formular.
Für die Augabe da gibts ja x fertige PHP kalender die man nutzen kann damit die ausgabe schick aussieht.

Cheffchen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 23. Sep 2016, 15:20
von fw-thomas
Hallo,
ja es ist ein Bereich der per PW und Benutzername geschützt ist ..

werde heute abend das nochmal ansehen ..

VG

Re: Veranstaltungskalender mit Eintragung

Verfasst: 23. Sep 2016, 16:00
von Cheffchen
Hallo,

ich zeig mal wie das gehen könnte
- xform, nei Tabelle rex_test, Bezeichnung TEST
- Felder bearbeiten > Tabellenfeld anlegen, dann "date" mit Name und Bezeichnung, was bei name ist wichtig zb datum und bei anzeigeformat ###Y###-###M###-###D###, Endjahr +3
- das gleiche nochmal nur mit "text" und das zb wer nennen
- Damit wäre Datenbank fertig

nun kannst ja inten schon mal zwie test Datensätze einfüge.
Dann legst ein Artikel für die Ausgabe an mit ein PHP modul und fügst einfach das ein

Das ist eine einfache ein und ausgabe.

Code: Alles auswählen

<br><br>
<?php

# einfügen neuer Datensatz
if(!empty($_POST['wann'])){ // wann nicht leer
    if(preg_match("/(\d{2})\.(\d{2})\.(\d{4})/", $_POST['wann'], $output_array) 
       && checkdate($output_array[2], $output_array[1], $output_array[3])){ # wann zahlenformat dd.dd.dddd und dann reales datum
        #$jetzt=date('Y-m-d H:i:s', time()); 
        $wann=$output_array[3].'-'.$output_array[2].'-'.$output_array[1];
        $sql = rex_sql::factory();
        $sql->debugsql = false ;              // false true debug wenn aktiv wird sql abfrage ausgegeben
        $db_table = 'rex_test';             // aus welche DB Tabelle
        $sql->setTable($db_table);
        $sql->setValue('datum',$wann); 
        $sql->setValue('wer','Nase');         
        if($sql->insert()){ 
            echo '<h2>Datum Gespeichert</h2>';
        }else{ 
            echo '<h2>Fehler beim einfügen.</h2>';
        } 
    }else{
        echo 'Datum nur im Format DD.MM.JJJJ<br><br>';
    }

}
    # AUSGABE aller Daten
    $sql = rex_sql::factory();
    $sql->debugsql = false ;              // false true debug wenn aktiv wird sql abfrage ausgegeben
    $db_table = 'rex_test';             // aus welche DB Tabelle
    $sql->setQuery("SELECT * FROM $db_table where id > '0' order by datum DESC"); 
    $current_rows = $sql->getRows(); // ab hier ausgabe
    if ($current_rows > 0 ) {        // wenn treffe
        for ($i = 1; $i <= $current_rows; $i++) {    // Zeige jeden Datensatz an
            
            echo $sql->getValue('datum').' '.$sql->getValue('wer').'<br>';
           
   
            $sql->next();                             // ende nächster datensatz
        }
    } 
?>




<form id="form1" action=""  method="post" >
    <label  for="wann" >Wann?</label> 
    <input type="text" class="datepicker" name="wann" id="wann" value="" /> 
    <input type="submit" name="submit" value="Formular Absenden"  /> 
</form>

<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>  
<script>
    $( function() {
        $( ".datepicker" ).datepicker({dateFormat:"dd.mm.yy"});
    } );
</script>
Cheffchen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 24. Sep 2016, 00:17
von Cheffchen
der code oben ist geändert, ist nun komplett fertig aber ausbaufähig ;O)

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 11:24
von fw-thomas
so habe gerade ein wenig zeit ..
habe die Tabelle soweit fertig gemacht ..

wenn ich nun einen Termin eintragen will, gibt es die Fehlermeldung "Fehler beim einfügen."

Ich kann dazu auch nur das Datum aus dem Kalender auswählen ..


So ist z.Z. die Tabelle aufgebaut ..
Prio Typ Typname Bezeichnung editieren löschen
1 value date datum editieren löschen
2 value text wer editieren löschen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 11:55
von Cheffchen
Hallo,

änder mal am anfang das

Code: Alles auswählen

$sql->debugsql = false ;
in

Code: Alles auswählen

$sql->debugsql = true;
dann wird angezeigt wo der fehler ist.

Mehr als Datum ist auch noch nicht, das wer ist fest mit "Nase" hinterlegt.

Cheffchen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 11:59
von fw-thomas
dann kommt diese Meldung


Query: SELECT * FROM rex_test where id > '0' order by datum DESC
Affected Rows: 0
Error Message: Unknown column 'datum' in 'order clause'
Error Code: 1054

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 12:45
von Cheffchen
Hallo,

ok wir machen das mal hier mit, da kann man wenigstens zeilen Sagen ;O)
https://eval.in/private/0d4d0033397ad0

Du scheinst das in z28 gemacht zu haben, das ist die ausgabe, in z11 ist das noch mal für das einfügen.

Die fehlermeldung sagt ja, das es die Spalte "datum" nicht gibt.
Sicher das keine leerzeichen oder so im Table Manager?

Cheffchen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 13:06
von fw-thomas
ja bin ich .. kein Leerzeichen, hab es gerade nochmal neu eingestellt ..

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 14:16
von Cheffchen
Hast zum Test ein zwei Test einträge gemacht?
Tabellenname ist der Richtige, muss ja sonnst andere fehlermeldung ;O)
sonst keine Ahnung.
Ich mach mal heute abend screens.

Cheffchen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 16:04
von fw-thomas
ja einen Eintrag habe ich vorgenommen ..

ich habe da auch gleich mal eine weite Zeile eingebunden mit dem Test Bezeichnung damit eingetragen werden kann, was den Abend dort Läuft ..

Datum und Bezeichnung wird durch ein Kamerad vorgenommen, die Teilnehmer sollten sich selber eintragen.

mfg

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 21:36
von Cheffchen
Hallo,
da steht "rex_tes" der coder ist aber für "rex_test".

Wen das einfach beispiel geht, kann man das ja ohne probleme erweitern.

Cheffchen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 22:01
von fw-thomas
schei*******

mom mache ich eben neu

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 22:33
von fw-thomas
So das habe ich mal eben neu gemacht und nun kann ich die Daten speichern.

Nun kann ich das Datum eintragen. Allerdings steht bei Teilnehmer immer Nase drinne, dieser Eintrag sollte durch die KameradenInnen selber ausgefühlt werden ..

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 22:50
von Cheffchen
Hallo,

nun hast das schwerste, jetzt kommt feintuning.
Jetzt ist die Frage mit "Kamerade" ich würde das "Nase" einfach mit dem Benutzername tauschen, hattest ja gesagt das es ein interner bereich ist, so kann es keine fehler geben.

alternativ eingabe feld am besten mit select feld.
Wichtig, immer der reihe nach, sonst passen ja die zeilen nr nicht mehr ;O)
nach z49

Code: Alles auswählen

        <label  for="wer" >wer?</label> 
        <select name="wer" id="wer" size="1">
<option>Hans Müller</option>
<option>Gutsaf Ganz</option>
        </select>

dann ausgabe der Liste z35 "echo $sql->getValue('datum').' '.$sql->getValue('wer').'<br>';" in das ändern

Code: Alles auswählen

echo $sql->getValue('datum').' '. $sql->getValue('wer').' '.$sql->getValue('wer').'<br>';
dann z15 "$sql->setValue('wer','Nase');" gegen das tauschen

Code: Alles auswählen

 $sql->setValue('wer',$_POST['wer']);
Cheffchen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 26. Sep 2016, 23:40
von fw-thomas
Sieht ja nicht mal so schlecht aus ..

Meine Idee geht er dahin, das ein Kamerad alle Termin einträgt ..

und das die anderen Kameraden dann ihren Wunschtermin selber auswählen durchs anklicken ..
Der Name sollte dann durch die DB womit er sich angemeldet hat gespeichert werden.
Eine Mail an die Gruppenführung oder Verteiler sollte dann für Klarheit sorgen.

Habe es mal eben aufgezeichnet ..
neue Tabelle.jpg
neue Tabelle.jpg (39.43 KiB) 17771 mal betrachtet
So oder so ähnlich war meine Idee ..

Re: Veranstaltungskalender mit Eintragung

Verfasst: 27. Sep 2016, 00:16
von Cheffchen
Das ist ja ansicht nicht dolles.
1 Admin der die Datumse Anlegt oder einfachhalber über das Redaxo interne
Der Rest bekommt alle zukünftige Termin Angezeigt und wo kein Name hinterlegt wird ist ein Button, so das dies Formular abgeschickt wird und der Name gespeichert wird.

Da brauchst nur an dem bestehenden weiter ändern bzw. sachen löschen die nicht gebraucht werden.

Cheffchen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 27. Sep 2016, 13:30
von fw-thomas
habe dann heute mal die Tabellen erschaffen ..

So in der Richtung wollte ich das haben ..

mal sehen wie weit wir kommen

p.s. ja ein Fehler bei Checkbox habe ich beim schreiben der Nachricht schon gesehen .. denke aber eh das das falsch ist

Re: Veranstaltungskalender mit Eintragung

Verfasst: 28. Sep 2016, 16:24
von Cheffchen
Hallo,

klar gesehen, habe da keine Frage gesehen.
Die Tabelle hast, schau die den code von oben an und erstelle daraus eine einfache ausgabe, jeder datensatz ein Zeile (<br>).
Wenn das hast, kann man mit php bei denen wo gebraucht wird, ein Link anzeigen lassen, wo sich der User eintragen kann aber das wäre der zweite schritt wo man dan bloss mit einfachen if abfragen kann.

Cheffchen

Re: Veranstaltungskalender mit Eintragung

Verfasst: 29. Sep 2016, 09:40
von fw-thomas
ich habe die Ausgabe nun soweit Hinbekommen

Code: Alles auswählen

                    echo $sql->getValue('datum').' '. $sql->getValue('uhr').' '. $sql->getValue('was').' '. $sql->getValue('wer').' '.$sql->getValue('wer2').'<br>';
Wie bekomme ich nun diese Ausgabe erstmal in einen schicken Kasten mit Passenden Überschriften ??

Re: Veranstaltungskalender mit Eintragung

Verfasst: 29. Sep 2016, 10:19
von fw-thomas
Nun habe ich ein paar Einträge vorgenommen,
2016-10-10 19:00:00 ü40 Party
2016-10-05 17:00:00 Kino Abend
2016-10-01 19:30:00 Hans Im Glück / Theater Thomas Störk Hansi Meier
2016-09-30 20:00:00 Heimatbühne
Welchen Code darf ich eintragen das es nach Datum Sortiert wird ..

Re: Veranstaltungskalender mit Eintragung

Verfasst: 29. Sep 2016, 10:54
von Cheffchen
Sortierung machst über "order by", füge in der zeile $sql->setQuery("SELECT * ..... das so am ende
" order by datum DESC"); "

Was heist schicken Kasten? Tabelle.
Da gibts viel wege, einer wäre, hier mal nur mit 2 Spalten, der rest dürfte sich selbst erklären
Das vor der Zeile mit "for ($i = 1;..." einfügen

Code: Alles auswählen

$tabelleout='<table><tr><td>Kopf1</td><td>Kopf2</td></tr>';
Deine Ausgabe "echo $sql->getValue('datum').'...." der Datensätze musst so ädnern

Code: Alles auswählen

$tabelleout .= '<tr><td>'.$sql->getValue('datum').'</td><td>'.$sql->getValue('uhr').' '. $sql->getValue('was')</td></tr>';
Das nach "$sql->next(); }" einfügen. auf die } achten da sind 2, muss genau zwischen den.
$tabelleout .= '</table>';

Jetzt musst nur noch ein " echo $tabelleout; " da einfügen wo die Tabelle ausgegeben werdeb soll.

Cheffchen