baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Peter (285 Beiträge) am Sonntag, 4.Oktober.2020, 18:34.
    Re: Re: Re: Re: Buchungssystem aus der BIB


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von markus (993 Beiträge) am Mittwoch, 30.September.2020, 12:44.
    Buchungssystem aus der BIB

      Hallo in die Runde,
       
      nach gut 2 Jahren BP Abstinenz hab ich mich mal an ein Uralt Projekt aus der Bibliothek gemacht - das Buchungssystem von Christoph und es funktioniert nach 15 Jahren immer noch :-)
       
      Habe aber ein Phänomen!
      Wenn ich die DB buchungen um Felder wie Name, Email, Telefon ergänze, rechnet er mir buchbare Objekte hinzu, obwohl in der DB objekte nur eines drin ist.
      Quellcode der beiden Templates ist identisch!
       
      Jemand `n Tipp?
      VG Markus
       
       
      Im Original - funktioniert:
      http://marvino.de/cgi-bin/baseportal.pl?htx=/book/buchungen&jahr=2020&monat=9
       
      Mit ergänzten Feldern:
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/MarkusS/booking/buchungen&jahr=2020&monat=9
       
       
      template buchungsplan:
       
      <perl>
      $jahr||=2020; $monat||=10;
       
      out "Jahr: ";
      for(my $j=2020; $j<2022; $j++) { out $j==$jahr?"<b>$j</b> ":"<a href=\"$link&jahr=$j&monat=$monat\">$j</a> "; }
      out "<br><br>Monat: ";
      for(my $m=1; $m<13; $m++) { out $m==$monat?"<b>$m</b> ":"<a href=\"$link&jahr=$jahr&monat=$m\">$m</a> "; }
      out "<br><br>";
       
      out "<table class=belegungsplan><tr><th>Objekt</th>";
      for(my $t=1; $t<=&tage($monat,$jahr); $t++)
      {
        out "<th>$t</th>";
      }
      out "</tr>";
       
      foreach $objekt (@objekte)
      {
        out "<tr><td>$objekt</td>";
       
        for(my $t=1; $t<=&tage($monat,$jahr); $t++)
        {
          $heute="$t.$monat.$jahr";
          $frei=&frei($heute, "$heute+1", $objekt);
       
          $farbe=int($frei/$anzahl{$objekt}*100);
          ($r,$g,$b)=($farbe, 100, $farbe);
          ($r,$g,$b)=(100,0,0) if $farbe==0;
          out "<td style=\"background-color:rgb($r%,$g%,$b%)\">$frei</td>";
        }
        out "</tr>";
      }
      out "</table>";
      </perl>
       
       
       
       
      
      template buchungen:
      <include src=top>
       
      <include src=buchungsplan>
       
      <br><hr><br>
       
      <perl>
      if($start_Tag ne "")
      {
      #  $ende_Jahr="$ende_Jahr-1";
       
        $start_wunsch=datum("$start_Tag.$start_Monat.$start_Jahr", "intern");
        $ende_wunsch=datum("$ende_Tag.$ende_Monat.$ende_Jahr", "intern");
       
        if($start_Tag>&tage($start_Monat, $start_Jahr))
        {
          out "<b>Der Tag des Startdatums existiert nicht!</b>";
        } elsif($ende_Tag>&tage($ende_Monat, $ende_Jahr))
        {
          out "<b>Der Tag des Endedatums existiert nicht!</b>";
        } elsif($ende_wunsch lt $start_wunsch)
        {
          out "<b>Das Endedatum liegt vor dem Startdatum!</b>";
        } elsif($start_wunsch lt datum("jetzt-1","intern"))
        {
          out "<b>Das Startdatum liegt vor dem heutigen Datum!</b>";
        } else
        {
          $frei=&frei($start_wunsch, $ende_wunsch, $objekt);
       
          out <<EOF;
      Anzahl Objekte: $anzahl{$objekt}<br>
      Buchungen dieses Objekts gesamt: $amount{$objekt}<br>
      Freie Objekte in diesem Zeitraum: $frei<br><br>
      EOF
       
          if($frei>0)
          {
            out "<b>Objekt frei...</b>";
            if($buchen)
            {
              out " <b>Die Buchung wurde ausgeführt.</b>";
              put ["Start", $start_wunsch, "Ende", $ende_wunsch, "Objekt", $objekt];
            }
          } else
          {
            out "<b>Es sind alle ausgewählten Objekte im Wunschzeitraum belegt...</b>";
          }
        }
       
        out "<br><br><hr>";
      }
       
       
      for(my $t=1; $t<32; $t++)
      {
        $start_tage.="<option".($start_Tag==$t?" selected":"").">$t";
        $ende_tage.="<option".($ende_Tag==$t?" selected":"").">$t";
      }
       
      for(my $m=1; $m<13; $m++)
      {
        $start_monate.="<option".($start_Monat==$m?" selected":"").">$m";
        $ende_monate.="<option".($ende_Monat==$m?" selected":"").">$m";
      }
       
      for(my $j=2020; $j<2023; $j++)
      {
        $start_jahre.="<option".($start_Jahr==$j?" selected":"").">$j";
        $ende_jahre.="<option".($ende_Jahr==$j?" selected":"").">$j";
      }
       
      foreach my $o (@objekte)
      {
        $objekte.="<option".($o==$objekt?" selected":"").">$o";
      }
       
      out <<EOF;
      <p>Buchung:</p>
      <table>
      <FORM action="baseportal.pl?htx=$htx" method="post" encType="multipart/form-data">
      <INPUT type=hidden value="$htx" name="htx=">
      <TR><TD align=right>Start:</TD>
      <TD><SELECT name="start_Tag=">$start_tage</SELECT>.<SELECT name="start_Monat=">$start_monate</SELECT>.<SELECT name="start_Jahr=">$start_jahre</SELECT></TD></TR>
      <TR><TD align=right>Ende:</TD>
      <TD><SELECT name="ende_Tag=">$ende_tage</SELECT>.<SELECT name="ende_Monat=">$ende_monate</SELECT>.<SELECT name="ende_Jahr=">$ende_jahre</SELECT></TD></TR>
      <tr><td>Objekt:</td><td><select name="objekt=">$objekte</select></td></TR>
      <tr><td align=right>Bitte auswählen</td><td><input type=radio value=1 name="buchen=">Gleich buchen</select></td></tr>
      <TR><TD></TD><TD><INPUT type=submit value=Buchung bestätigen></TD></TR></FORM>
      </table>
      EOF
       
      </perl>
       
      <br><hr><br>
       
      <do action=all db=buchungen>
      

     Antworten

    Beitrag von Sander (8104 Beiträge) am Mittwoch, 30.September.2020, 15:50.
    Re: Buchungssystem aus der BIB

      ich glaube, da fehlt genau das template, was interessant ist :)

      schau mal in top:

      get "Id==*", "objekte";
      while(get_next "objekte")
      {
        $anzahl{$Name}=$Anzahl;
        push @objekte, $Name;
        get ["Objekt", "==", $Name], "buchungen"; $amount{$Name}=$_amount;
      }
      

      ob da in while $Name gefüllt ist. Er scheint mir kein einziges Objekt zu holen

     Antworten

    Beitrag von markus (993 Beiträge) am Donnerstag, 1.Oktober.2020, 11:11.
    Re: Re: Buchungssystem aus der BIB

      Man merkt, ich bin schon ein bischen raus :-)
      Objekte werden geholt, getestet.
      Es lag einfach daran, dass ich den selben Feldnamen hatte.
      Jetzt zerstört es nicht mehr die Verfügbarkeit, aber die zusätzlichen Felder werden nicht in die DB geschrieben, nur An- & Abreise und Objekt.

      Normal müsste das doch immer so gehen:
      <input name="Email:=" value="" type="text">
      

      VG markus


      <FORM action="baseportal.pl?htx=$htx" method="post" encType="multipart/form-data">
      <INPUT type=hidden value="$htx" name="htx=">
      <TR><TD>Anreise</TD>
      <TD><SELECT name="start_Tag=">$start_tage</SELECT>.<SELECT name="start_Monat=">$start_monate</SELECT>.<SELECT name="start_Jahr=">$start_jahre</SELECT></TD></TR>
      <TR><TD>Abreise</TD>
      <TD><SELECT name="ende_Tag=">$ende_tage</SELECT>.<SELECT name="ende_Monat=">$ende_monate</SELECT>.<SELECT name="ende_Jahr=">$ende_jahre</SELECT></TD></TR>
      

      <tr><td>Objekt:</td><td><select name="objekt=">$objekte</select></td></TR>

      <tr><td>Name</td><td><input name="Bucher=" value="" type="text"></td></tr>
      <tr><td>Email</td><td><input name="Email:=" value="" type="text"></td></tr>
      <tr><td>Telefon</td><td><input name="Telefon=" value="$_put{Telefon}" type="text"></td></tr>
      <tr><td>Wohnung</td><td><input name="Wohnung:=" value="$_put{Wohnung}" type="text"></td></tr>
      

     Antworten

    Beitrag von markus (993 Beiträge) am Freitag, 2.Oktober.2020, 15:21.
    Re: Re: Re: Buchungssystem aus der BIB

      Das hab ich geschafft :-)

      Versuche gerade die Monatsnamen nicht mit Zahlen auszugeben, sondern als Namen.
      Klappt irgendwie nicht :-(

      <perl>
      

      $jahr||=2020; $monat||=10;

      out "Jahr: ";
      for(my $j=2020; $j<2022; $j++) { out $j==$jahr?"<b>$j</b> ":"<a href=\"$link&jahr=$j&monat=$monat\">$j</a> "; }
      out "<br><br>Monat: ";
      for(my $m=1; $m<13; $m++) { out $m==$monat?"<b>$m</b> ":"<a href=\"$link&jahr=$jahr&monat=$m\">$m</a> "; }
      out "<br><br>";
      

      out "<table class=belegungsplan><tr><th>Buchungsplan</th>";
      for(my $t=1; $t<=&tage($monat,$jahr); $t++)
      {
        out "<th>$t</th>";
      }
      out "</tr>";
      

      foreach $objekt (@objekte)
      {
        out "<tr><td>$objekt</td>";
      
        for(my $t=1; $t<=&tage($monat,$jahr); $t++)   {     $heute="$t.$monat.$jahr";     $frei=&frei($heute, "$heute+1", $objekt);     $farbe=int($frei/$anzahl{$objekt}*50);     ($r,$g,$b)=($farbe, 100, $farbe);     ($r,$g,$b)=(100,0,0) if $farbe==0;     out "<td style=\"background-color:rgb($r%,$g%,$b%);\"><center><font style='size=1px; opacity: 0.0;'>$frei</center></td>";   }   out "</tr>"; } out "</table>"; </perl>

     Antworten

    Beitrag von Peter (285 Beiträge) am Sonntag, 4.Oktober.2020, 18:34.
    Re: Re: Re: Re: Buchungssystem aus der BIB

     Antworten


     
 Liste der ersten 150 Einträge:Einklappen Zur Eingabe 
 Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!