Fortlaufende Nummer im Anmeldeformular vergeben
Beim vergangenen Contao-Stammtisch in München haben wir u.a. folgendes Problem gelöst, das ich in einem Tutorial zusammengefasst habe.
Die Anforderung war, eine fortlaufende Startnummer für eine Sportveranstaltung zu generieren und diese auch direkt mit der Bestätigungsmail an den Teilnehmer zu schicken.
Vielleicht hilft es dem einen oder anderen.
Viele Grüße
Hella
Liste der Anhänge anzeigen (Anzahl: 2)
Speichern mit Leads
Hallo,
Danke für die Anleitung.
Ich habe die Vorgabe, die Anmeldedaten und die Anmeldenummer mit Leads zu speichern.
Das funktioniert auch. Nur bei der Abfrage der max. Anmeldenummer aus der Leads-Tabelle hatte ich etwas Schwierigkeiten. Ich habe es mit nachfolgender SQL-Abfrage gelöst (Beispiel 02), weiß aber nicht, ob das die optimale Lösung ist.
Anbei der entsprechende Skript-Ausschnitt sowie Screenshots von tl_lead und tl_lead_data. Das Anmeldeformular hat die id=6 und das versteckte Formularfeld mit der Anmeldenummer hat die id=38.
Gibt es eine bessere Lösung?
Wenn ja, bitte eine Anleitung für SQL-Anfänger, Danke.
Screenshots: Anhang 21858 / Anhang 21859
PHP-Code:
// Datenbankabfrage - Nimm aus der Tabelle "form_anmeldungen" den größten Wert in der Spalte anmeldenummer unter dem Alias maxanmeldenummer.
// 01 - Auslesen der Anmeldenummer aus einer Datenbankspalte (ohne Leads)
// $sql = "SELECT MAX(anmeldenummer) AS maxanmeldenummer FROM form_anmeldungen";
// 02 - Auslesen der Anmeldenummer aus tl_lead_data
// field_id = ID des versteckten Formularfelds mit der Anmeldenummer
$sql = "SELECT (value) AS maxanmeldenummer FROM `tl_lead_data` WHERE `field_id`='38' ORDER BY VALUE DESC LIMIT 1";
// Ausführung der Datenbankabfrage
$result = Database::getInstance()->prepare($sql)->execute();
//Kontrollausgabe der maxanmeldenummer
echo '$result->maxanmeldenummer';
Danke für Eure Tipps.