TOPIC:

Fortlaufende (interne) Nummer für eine Anfrage möglich? 8 months 3 weeks ago #252081

  • Topic Author
  • Shuffle
  • Offline
  • Fresh Breezer
  • Fresh Breezer
  • Posts: 19
  • Thanks: 0
Hallo Eddy,
eigentlich sind es zwei Webseiten von verschiedenen Freunden, die unterschiedliche Bedürfnisse benötigen. Die erste Lösung ist eigentlich fertig:
  1. Ein Freund hat einen Transportservice. Dort wird ein ganz komischer Präfix benötigt. Den wollte ich in meiner ersten Anfrage aber nicht angeben, deswegen nahm ich eine Jahreszahl als Beispiel. Der eigentliche Präfix soll aus einem Buchstaben und 6 Zahlen bestehen (die Nummer des Unternehmens und noch irgendeine andere Nummer (also so etwas wie p333444). Daran anschließen soll sich dann die laufende Nummer.
    Diese Lösung ist mit deinem Script fertig und funktioniert - benötigt aber die zwei Datenbankfelder. Damit kann ich (und der Freund) bestimmt leben.
  2. Eine Bekannte hat eine Webseite, auf der sie Schwimmkurse Kinder anbieten möchte. Und dazu wäre eine Lösung mit einer fortlaufenden Auftrags-/ Rechnungsnummer brauchbar. So etwas wie 'jjjjmmtt-123' (oder eben nur 'jj-1234', denn es sie hat nur kleine Kurse). Momentan steht ohnehin alles still wegen Corona.
Da BreezingForms auch eine Bezahlmöglichkeit bietet, wäre das vielleicht eine einfache Lösung? Damit habe ich mich aber noch gar nicht beschäftigt, was aber auch nicht eilt.

Vielen Dank und beste Grüße
Shuffle

Please Log in or Create an account to join the conversation.

Fortlaufende (interne) Nummer für eine Anfrage möglich? 8 months 3 weeks ago #252083

  • Eddy.vh's Avatar
  • Eddy.vh
  • Offline
  • Ultimate Breezer
  • Ultimate Breezer
  • Posts: 663
  • Karma: 4
  • Thanks: 112
Hi,

Im Anhang findest du die neue Version mit nur einem Feld.
Der Skript ist kommentiert damit du es leicht anpassen kannst.

Ich wünsche dir ein frohes Weihnachtsfest.

mfG.
Eddy
Attachments:
The following user(s) said Thank You: Shuffle

Please Log in or Create an account to join the conversation.

Fortlaufende (interne) Nummer für eine Anfrage möglich? 8 months 3 weeks ago #252120

  • Topic Author
  • Shuffle
  • Offline
  • Fresh Breezer
  • Fresh Breezer
  • Posts: 19
  • Thanks: 0
Hallo Eddy,
vielen Dank. Ich musste erst einmal schauen, wie ich die XML-Datei einbauen kann. Ich arbeite viel zu selten mit BreezingForms... hat aber funktioniert.

Sei noch einmal herzlich umarmt.
Vielen Dank und noch ein frohes Weihnachtsfest!
Shuffle

Please Log in or Create an account to join the conversation.

Fortlaufende (interne) Nummer für eine Anfrage möglich? 1 month 1 week ago #262250

  • Topic Author
  • Shuffle
  • Offline
  • Fresh Breezer
  • Fresh Breezer
  • Posts: 19
  • Thanks: 0

Eddy.vh wrote: Hi,

Im Anhang findest du die neue Version mit nur einem Feld.
mfG.
Eddy


Hallo Eddy,
leider habe ich nun wieder ein Problem. Deinen ursprünglichen Code habe ich etwas angepasst, so dass ein Präfix, zwei Zufallsbuchstaben und eine Weiterzählung (5 Stellen) erfolgen soll.
Irgendwann setzt aber die Erhöhung um 1 einfach aus? Keine Ahnung, wieso??

Leider konnte ich auch deine letzte Version (die XML-Datei) nicht nutzen, da mir ein Hinweis fehlte, wie ich diese einbinden kann...??
Ich sende hier mal den momentanen Code, vielleicht kannst du einmal nachheflen?

Nochmals:
Der Präfix bleibt gleich, es folgen zwei Buchstaben (Zufall) sowie ein Bindestrich und danach soll eine fünfstellige Ziffern "hochzählen"...
Beispiel: "P382xy-12345" -> "P382xy-12346" -> "P382xy-12347" -> ....
$this->execPieceByName('ff_InitLib');
$db = JFactory::getDBO();      // Zugriff auf die Datenbank
$db->setQuery('SELECT MAX(value) FROM #__facileforms_subrecords where name = "snr"');       // snr ist der Name des Feldes, das die Seriennummer erhält
$result = $db->loadResult();
$result = substr($result, 0, 12);  // auf 12 Stellen reduzieren, falls...
$result = substr($result, -5 );    // nur die letzten 5 Stellen (Seriennummer)
$praefix = "P382";

if ( $result != '' ) {
   $result = $result + 1;    // Test ob das Datenbankfeld einen Wert enthält. Wenn ja, wird die Wert mit 1 erhöht

}
else {
    $result = "00001";   // Wenn nicht, fangen wir mit "001" an
}
// Hier noch einbauen, dass bei Erreichen von "99999" wieder auf "0" gesetzt wird!

//zwei Zufallsbuchstaben:
$buchstabe1 = chr( mt_rand( 97 , 122 ));
$buchstabe2 = chr( mt_rand( 97 , 122 ));
$trennung = "-" ;

$strResult = sprintf("%05d", $result); // Wenn die Serienr mehr als 5 Ziffern

ff_setValue('snr', "$praefix$buchstabe1$buchstabe2$trennung$strResult"); // Präfix + Seriennummer in Feld "snr" senden.

Wieso das Hochzählen einfach aussetzt ist mir ein Rätsel.

Vielen Dank für einen Hinweis!
Shuffle

Please Log in or Create an account to join the conversation.

Fortlaufende (interne) Nummer für eine Anfrage möglich? 1 month 1 week ago #262252

  • Topic Author
  • Shuffle
  • Offline
  • Fresh Breezer
  • Fresh Breezer
  • Posts: 19
  • Thanks: 0
Nachtrag:
Die beiden Zufallsbuchstaben dienen erst einmal dazu, ggf. gleichzeitige Anfragen zu unterscheiden.
"P382xy-12345" -> "P382za-12346" -> "P382ax-12347" -> ....
Es wird aber kaum Vorkommen, dass das Formular von mehreren Usern gleichzeitig ausgefüllt werden.
Ich sehe sonst keine Möglichkeit, die gleichzeitige Formularerstellung zu unterscheiden, da ja erst einmal nur die "snr" aus der DB geladen wird. Oder gibt es dazu eine andere Lösungsmöglichkeit?

Wie ich bereits schrieb, hatte ich deine letzte Version leider nicht installieren können (XML).

Nochmals beste Grüße!
Shuffle

Please Log in or Create an account to join the conversation.

Fortlaufende (interne) Nummer für eine Anfrage möglich? 1 month 1 week ago #262257

  • Eddy.vh's Avatar
  • Eddy.vh
  • Offline
  • Ultimate Breezer
  • Ultimate Breezer
  • Posts: 663
  • Karma: 4
  • Thanks: 112
Hallo,

Ich müsste serbst testen, leider habe ich wenig Zeit die 2 nächsten Wochen.
Ich schaue mal was ich machen kann.

Was meinnst du mit "da mir ein Hinweis fehlte, wie ich diese einbinden kann...??".

Kannst du deinen Formular exportieren das man testen kann?
Vielleicht können auch Tihana oder Mirec dabei auch helfen wenn sie in die nächsten Tagen ein bisschen Zeit haben.

LG,
Eddy

Please Log in or Create an account to join the conversation.

Moderators: ForumSupport
Time to create page: 0.054 seconds

BreezingForms Pro 1.4.7 for WordPress Released!

Available in the membership section.

September Discount!

Massive discounts on all subscriptions!

Get Your Subscription Here

Quick Links

Downloads

BreezingForms

ContentBuilder

BreezingCommerce

Templates

Documentation

BreezingForms

ContentBuilder

BreezingCommerce

Apprendre BreezingForms (French Community)

Apprendre et maîtriser BreezingForms par des tutoriels et exemples, le tout en français

breezingforms.eddy-vh.com

Questions et réponses sur les forums de l'AFUJ

AFUJ

Special Offer

Summer Sale! All subscriptions at a special price!

Includes prio support, all of our current and future Joomla!® extensions and Joomla!® templates for the duration of your membership.

Get it from here

3rd Party Discount - 25% Off

We help you to keep your costs under control. If you are a new member and purchased a form building tool from a different form vendor, then you'll get a 25% discount on our subscription plans.

How to receive the discount:

Send us a quick email to sales@crosstec.org with a proof of purchase (for example a paypal receipt), await payment instructions and enjoy your membership!