Re: problem mit ergebnishash - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
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 Claus (4645 Beiträge) am Donnerstag, 17.Februar.2005, 18:16.
    Re: problem mit ergebnishash

      Hallo Markus,

      habe mal auf den Link geklickt. Pro Kathegorie gibt es demnach max 8 Karten zu ordern.

      Gesetzt der Fall, jemand möchte Karten für 8 Personen in Kat A buchen, es sind aber nur noch 6 vorhanden.
      Dann schaut er, ob er in Kat B seine 8 Karten buchen kann. Dummerweise gibt es da aber nur noch 3.

      Nun kann es aber sein , daß er unbedingt, egal wie, mit 8 Personen dort hin möchte. Könnte er ja auch, denn es gibt insgesamt noch 9 freie Karten.

      Ergo:

      Prüfen Kat A = Fehlanzeige
      Prüfen Kat B = Fehlanzeige

      Prüfen Kat A + B = Erfolg


      mein Rat:

      Nimm dir eifach mal einen Zettel und schreibe für Dich persönlich auf, was Du Deinen Kunden anbieten willst.(so was nennt man Flußdiagramm, ist bei komplexeren Programmen aus meiner Sicht immer sinnvoll)


      Dann mache die entsprechende Programmierung dafür.

      Datenbanken fangen beim Aufbau an, nicht bei der Programmierung;-)

      Gruß

      Claus


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von markus (1013 Beiträge) am Mittwoch, 16.Februar.2005, 16:13.
    problem mit ergebnishash

      hallo,

      ich habe momentan ein problem mit meinem ergebnishash.

      perl prüft, wieviele einträge in der db "reservierungen" im feld "anzahl"für ein bestimmtes datum vorhanden sind. je nach ergebnis wird der eintrag zugelassen oder abgelehnt.

      probleme bekomme ich, wenn ich statt nur 1 kategorie 2 oder mehrere kategorien habe, z.b. kategorie-1: 25 frei / kategorie-2: 50 frei

      hat vielleicht jemand einen ansatzpunkt für mich?

      danke
      markus
      -----------------------------------------------------
      get "Datum==$Datum_in", "reservierungen", "hol_ds";
      while(get_next("hol_ds")){ 
      $gesamt += $Anzahl_Kategorie1;
      }
      $frei = 25 - $gesamt; 
      if ($frei <= 0){ 
      out "ausverkauft<br>";
      
      -----------------------------------------------------

      hier das ganz template:

      <perl>
      $Datum_in = $_put{Datum} if $_put{Datum}; 
      get "Datum==$Datum_in", "reservierungen", "hol_ds";
      while(get_next("hol_ds")){ 
      $gesamt += $Anzahl_Kategorie1;
      }
      $frei = 25 - $gesamt; 
      if ($frei <= 0){ 
      out "ausverkauft<br>";
      }
      else { # ok
      if (%_put && $cmd eq "add") {
      put undef, "reservierungen";
      out "Reservierungsdaten:<br> Datum: $_put{Datum}<br>Name: $_put{Name}";
        out "<br><br>";
        }
        out datum("jetzt", "lang");
        }
      </perl>
      

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 16.Februar.2005, 17:48.
    Re: problem mit ergebnishash

      Hallo Markus,

      Kenne jetzt nicht Deine Datenbank-Struktur, aber warum packst Du die Nummer der Kathegorie nicht in ein entsprechendes Feld und fragst dann im get analog dazu ab. Gleiches gilt für die Anzahl der freien Plätze??

      z.B.

      Datum Kathegorie Plätze

      xx 1 25
      xy 2 50

      Dann entsprechend über get abfragen und holen.

      Gruß

      Claus

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Donnerstag, 17.Februar.2005, 10:24.
    Re: problem mit ergebnishash

      mhm - entweder du willst wissen, wieviel Einträge für ein bestimmtes datum insgesamt in der DB vorhanden sind oder du willst wissen, wieveil Einträge für ein bestimmtes Datum pro kategorie vorhanden sind oder du willst wissen, wieviel Einträge für ein bestimmtes Datum für eine bestimmte Kategorie vorhanden sind (da langt dann offensichtlich die Abgfrage nur nach Datum nicht) - das gilt es einfach nur programmtechnisch umuzusetzen ;-)
      Man müsste in sonem Falle entweder alle Kategorien einzeln zählen, summieren und vergleichen und dann je nach gewünschtem Ziel die entsprechenden Aktionen vornehmen oder aber wenn nur eine Kategorie ausgewertet werden soll, diese als Parameter ans Template mit übergeben und dann auch nur die Datensätze dieser Kategorie holen.
      hth als Gedankenanstoss
      Ruben

     Antworten

    Beitrag von markus (1013 Beiträge) am Donnerstag, 17.Februar.2005, 15:37.
    Re: problem mit ergebnishash

      ... gibt ganz schön viele möglichkeiten, die man wissen wollen könnte :-)

      hallo ruben,

      du kannst es dir wie im zirkus vorstellen parkett & loge.
      man kann beides buchen, ist aber eines voll geht die ganze buchung nicht.
      ist parkett voll geht nur noch loge bis zu den max. plätzen.

      mit 1 kategorie hat alles prima funktioniert, doch bei 2 harpert es mächtig.

      ich habe für A 25 und für B 15 freie plätze.

      es wird das datum geholt und es wird verglichen, ob an diesem datum die die summe für A noch kleiner als die frei verfügbaren plätze ist.
      das selbe geschieht auch für B.
      liegt die summe unter der frei verfügbaren, dann wird der eintrag vorgenommen.

      link zur ansicht:
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/markus1/resbuch

      -----------------------------------
      <perl>
      $Datum_in = $_put{Datum} if $_put{Datum}; # bedingt, wenn Formular abgeschickt wurde
      

      get "Datum==$Datum_in", "reservierungen", "hol_ds";
      while(get_next("hol_ds")){ 
      $gesamt += $AnzahlA;
      }
      $freiA = 25 - $gesamt; 
      if ($freiA <= 0){ 
      out "A ist ausverkauft<br>";
      }
      else { # ok
      

      get "Datum==$Datum_in", "reservierungen", "hol_ds";
      while(get_next("hol_ds")){ 
      $gesamt += $AnzahlB;
      }
      $freiB = 25 - $gesamt; 
      if ($freiB <= 0){ 
      out "B ist ausverkauft<br>";
      }
      else { # ok
      if (%_put && $cmd eq "add") {
           put undef, "reservierungen";
        out "Reservierungsdaten: - Datum: $_put{Datum} - Name: $_put{Name} - AnzahlB: $_put{AnzahlA} AnzahlB: $_put{AnzahlB}";
      }
      

      }
      }
      </perl>
      

     Antworten

    Beitrag von richard (1187 Beiträge) am Donnerstag, 17.Februar.2005, 17:26.
    Re: problem mit ergebnishash

      Soweit ich das beim groben drübersehen erkenen konnte, wird Dein geposteter Code so nicht funktionieren.

      Am Ende von Teil 1 hast Du zwar eine else-Bedingung (wohl die Buchungsbestätigung) angefangen, aber nicht richtig beendet, da geht scheinbar einiges durcheinander, es kommt sofort ein get, das aber wohl zum zweiten Teil (AnzahlB) gehört - denke ich mal.

      Einmal wirst Du sicher auch noch eine 25 gegen 15 tauschen müssen.

      Mal allgemein geschrieben - Wenn man von einem funktionierenden Code ausgeht, und diesen erweitert, empfehle ich immer, diesen nur schrittweise auszubauen. Also vielleicht einfach mal nur das weitere get einbauen, wenn das durchläuft, while(get next), dann die Prüfung des Bestandes, dann eine Ausgabe nach der anderen.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 17.Februar.2005, 18:16.
    Re: problem mit ergebnishash

      Hallo Markus,

      habe mal auf den Link geklickt. Pro Kathegorie gibt es demnach max 8 Karten zu ordern.

      Gesetzt der Fall, jemand möchte Karten für 8 Personen in Kat A buchen, es sind aber nur noch 6 vorhanden.
      Dann schaut er, ob er in Kat B seine 8 Karten buchen kann. Dummerweise gibt es da aber nur noch 3.

      Nun kann es aber sein , daß er unbedingt, egal wie, mit 8 Personen dort hin möchte. Könnte er ja auch, denn es gibt insgesamt noch 9 freie Karten.

      Ergo:

      Prüfen Kat A = Fehlanzeige
      Prüfen Kat B = Fehlanzeige

      Prüfen Kat A + B = Erfolg


      mein Rat:

      Nimm dir eifach mal einen Zettel und schreibe für Dich persönlich auf, was Du Deinen Kunden anbieten willst.(so was nennt man Flußdiagramm, ist bei komplexeren Programmen aus meiner Sicht immer sinnvoll)


      Dann mache die entsprechende Programmierung dafür.

      Datenbanken fangen beim Aufbau an, nicht bei der Programmierung;-)

      Gruß

      Claus

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Freitag, 18.Februar.2005, 08:44.
    Re: problem mit ergebnishash

      na da hast du doch schon richtig was gebaut - sieht doch nicht schlecht aus!
      So richtig hab ich aber noch nicht verstanden wie es gehen soll.
      Du hast also 2 Kategorien, für jede ein anderes Kontigent pro Datum - richtig?
      Dann kann man reservieren, wenn die Anzahl der gewünschten Reservierungen das Kontigent einer oder beider überschreitet, darf (logischerweise) die Reservierung nicht angenommen werden - auch noch richtig?
      Man müsste da dann vielleicht das Script noch etwas geschwätziger machen und die Anzahl der freien Kontigente eingeben - vielleicht in etwas so (Vorsicht - not testet, nur mal schnell zusammengehackt, nur als Entwicklungshilfe gedacht):
      ---schnipp
      <perl>
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # Konstanten in Variablen schreiben, damit man später bei Veränderungen
      # nicht das ganze Script durchgehen muss
      $maxA = 25;
      $maxB = 15;
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      $Datum_in = $_put{Datum} if $_put{Datum}; # bedingt, wenn Formular abgeschickt wurde
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # Wunschmengen zwischenspeichern zum Berechnen
      $wunsch_A = $_put{AnzahlA};
      $wunsch_B = $_put{AnzahlB};
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      get "Datum==$Datum_in", "reservierungen", "hol_ds";
      while(get_next("hol_ds")){
       # A und B Istwerte ermitteln, alles in einem get erschlagen
       # (ist sinnvoll und gut für die Scriptlaufzeit)
       $istreserviertA += $AnzahlA;
       $istreserviertB += $AnzahlB;
      } # E while_get_next
      # Gesamtzahlen (einschl. der gewünschten)für Kateg. ermitteln
      $gesamtA = $istA + $wunschA;
      $gesamtB = $istB + $wunschB;
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # Freie Plätze f. Kateg. ermitteln
      $istfreiA = $maxA - $istreserviertA;
      $istfreiB = $maxB - $istreserviertB;
      #. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
      if ($istfreiA < $wunschA || $istfreiB < $wunschB){ # wenn überbucht würde
       # Variable Ausgabe für die Meldung bauen, je nachdem, welche
         # Kategorie durch die neuen Bestellung überfüllt würde
         # ggf. Plural-Endung mit bauen
         $bindewort = "ist";
       $katvoll = "A" if $istfreiA < $wunschA;
         if ($istfreiA < $wunschA && $istfreiB < $wunschB){ # wenn beide Kats überbucht würden
          $plural = "n"; $bindewort = "sind"
          $katvoll .= " und "
         } # E if frei < wunsch)
         $katvoll .= "B" if $istfreiB < $wunschB;
         if ($istfreiA > 0 || $istfreiB > 0){
          $a_nochfrei = "Folgende Freien Plätze sind noch vorhanden<br>";
          $a_nochfrei .= "<li>Kategorie A: $istfreiA Plätze</li>" if $istfreiA > 0;
          $a_nochfrei .= "<li>KategorieB: $istfreiB Plätze</li>" if istfreiB >0;
         }
       #. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
         out<<EOF;
         Ihre Reservierung kann leider nicht angenommen werden.<br>
         Die Kategorie$lural $katvoll $bindewort leider ausverkauft.<br>
         <ul>$a_nochfrei</ul>
      EOF
      } else { # ok
       if (%_put && $cmd eq "add") {
       put undef, "reservierungen";
       out "Reservierungsdaten: - Datum: $_put{Datum} - Name: $_put{Name} - AnzahlB: $_put{AnzahlA} AnzahlB: $_put{	AnzahlB}";
       }
      }
      </perl>
      
      ---schnapp
      hoffe, das hilft dir etwas
      Ruben

     Antworten

    Beitrag von markus (1013 Beiträge) am Freitag, 18.Februar.2005, 09:44.
    Re: problem mit ergebnishash

      guten morgen ruben,

      da hast du mir schon sehr weitergeholfen.

      bis auf 2 punkte bin ich auch schon am ziel:

      wenn B ausverkauft ist und bei A noch 6 frei sind, wird
      das zwar angezeigt, doch die 6 freien bei A kann man nicht
      mehr buchen.

      wenn bei A max.25 frei sind, kann man immer 1 buchung überschreitend buchen, d.h. 22 schon gebucht-die nächste buchung kann auch noch erfolgen, auch wenn die 25 überschritten werden.

      das war bisher ein hartes stück, bei dem du mir geholfen hast.
      sollte ich/wir das zu ende bringen, werde ich dir und deinen strapazierten nerven etwas gutes tun :-))

      danke markus

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Samstag, 19.Februar.2005, 20:08.
    Re: problem mit ergebnishash

      mhm - ja, das zweite ist ein Fehler bei der Berechnung - wenn du mal genau hinschaust, findest du den Fehler vielleicht selbst - nur als Gedankenanstoss sowviel: Es werden nur die tatsaächlich gebuchten bei den freien eingerechnet - da muss noch die Wunschzahl mit eingearbeitet werden - der Fehler ist mir erst nach dem Absenden aufgefallen... ;-)

      nun, also das erstere ist ja klar, einfach aus der Programmlogik heraus.
      Es heisst ja "wenn istfreiA oder istfreiB kleiner als der jeweilige Wunsch, dann gib Fehlermeldung aus" - also das muss man dann umstricken.
      Nun muss man da dann wieder ein paar Möglichkeiten, die auftreten können, bedenken:
      - der Kunde will nur in einer Kategorie die gesamte Menge reservieren (so sie zur Verfügung steht)
      - der Kunde will weniger als er eigentlich gewollt hatte in einer Kategorie reservieren (wenn nicht mehr alle zur Verfügung stehen)
      - der Kunde sieht von einer Reservierung ganz ab
      ....
      Für diesen Fall wäre es m.E. das Beste, das Template komplett umzustricken und das Formular gleich mit einzubauen - man könnte sogar die tatsächlich noch freie Zahl dynamisch in die Optionfelder mit einbauen - das würde Fehleingaben zusätzlich verhindern (das wird dann aber noch nen Zacken komplexer, nur soviel dazu:
      Man kann das in ne for-Schleife einbauen, die von 1-istfrei mal durchlaufen wird und jedesmal eine neue Zeile für einen Optionwert, der der Laufvariablen der Schleife entspricht, ausgibt (oder in ne var schreibt)
      in etwa so (btw option-Tags sind auch zu schliessen!):
      ---schnipp
      out "<select name='AnzahlA:='><option value="">Anzahl...</option>";
      for my $zahl(1..$istfreiA){
      out "<option value ='$zahl'>$zahl<option>";
      }
      out "<select>
      
      ---schnapp
      Es wäre sicher sinnvoll, wenn generell die Anzahl der vorhandenen Plätze in den Kategorien ausgegeben wird und dann das Eingabeformular. Die Überprüfung dann ist nur notwendig, wenn man die Optionfelder nicht dynamsich je nach vorh. freien Plätzen baut; das put kann man dann ja auch auf undef machen, so dass einfach neue Kategorien oder was auch immer hinzuugefüt werden können.
      Nachfolgend mal so auf die Schnelle das Script zusammengehackt - bitte nicht festenageln - ist nicht getestet, musste mal versuchen zu verstehen und ggf. zu korrigieren/anzupassen - kopier dirs mal in nen Editor und rück es ein, da sieht man es besser...
      (damitsn nicht heisst, der Hempel meckert nur rum im Forum - ausserdem hab ich mal andere Bilder gebraucht - ich beiss mir grad die Zähne an ner verzwickten Sache aus...)
      ---schnipp
      <perl>
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # Konstanten in Variablen schreiben, damit man später bei Veränderungen
      # nicht das ganze Script durchgehen muss
      $maxA = 25;
      $maxB = 15;
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      $Datum_in = $Datum} if $Datum; # bedingt, wenn Formular abgeschickt wurde
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # Wunschmengen zwischenspeichern zum Berechnen
      $wunsch_A = $_put{AnzahlA};
      $wunsch_B = $_put{AnzahlB};
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  #
      # hier machen wir mal ne Eingabekontrolle, ob auch Name und eMail
      # wirklich eingegeben wurden
      if (%_put) { # wenn das Formular abgeschickt wurde
       # wenn name leer oder nur leerzeichen eingegeben wurden
       if ($_put{name} eq "" || $_put{name) =~ s/\s// = "") {
         $cnt_fehler++;
         $ff_fehler = "<li>Bitte geben Sie Ihren Namen an</li>";
         }
         # wenn eMail leer ist oder nicht richtig eingegeben wurde
         # Mailaddys müssen mind. 7 Zeichen lang sein (@, Punkt, TLD mind. 2 Zeichen
         # Domainname mind. 2 Zaichen und Namensteil mind. 1 Zeichen - damit hat man
         # ne relativ gute Kontrolle...
         if (length( $_put{EMail} < 7 || index($_put{email,"@") < 1 || index($_put{email,"."} < 4){
         $cnt_fehler++;
         $ff_fehler .= "<li>Bitte gültige EMail-Adresse angeben</li>";
         }
      } # E if put
      # nun die gesamte Fehlermeldung zusammenbauen (nur wenn auch wirklich Fehler
      # aufgetreten sind
      if ($cnt_fehler > 0){
      $ff_fehler =<<EOF;
      <ul>
       <font color='red' size=1>Es liegen folgende $cnt_fehler Eingabefehler vor:
       $ff_fehler
       </font>
      </ul>
      EOF
      }
      # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  #
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # Nachschaun, was denn schon so los ist an dem Tag
      get "Datum==$Datum_in", "reservierungen", "hol_ds";
      while(get_next("hol_ds")){
       # A und B Istwerte ermitteln, alles in einem get erschlagen
       # (ist sinnvoll und gut für die Scriptlaufzeit)
       $istreserviertA += $AnzahlA;
       $istreserviertB += $AnzahlB;
      } # E while_get_next
      # Gesamtzahlen (einschl. der gewünschten)für Kateg. ermitteln
      $gesamtA = $istA + $wunschA;
      $gesamtB = $istB + $wunschB;
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # Freie Plätze f. Kateg. ermitteln (einschl. Wunschanzahl)
      $istfreiA = $maxA - ($istreserviertA + $wunschA);
      $istfreiB = $maxB - ($istreserviertB + $wunschB);
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #
      # hier jetzt die Optionfelder dynamisch bauen(ist aber nur bei geringen
      # Kontigenten vielleicht so um die 30 sinnvoll, andernfalls wäre ein normales Eingabe-
      # feld sinnvoller, müsste aber dann gesondert oben abgeprüft werden, auch auf Zahl
      # (das geht mit ner Regex/Pattern-Matching irgendwie
      # if ( $_put{AnzahlA} =~ m/\D/){dan fehler}
      $a_sel_anzahlA = "<select name='anzahla:='><option value="">Anzahl...</option>\n";
      for my $zahl(1..$istfreiA){
      $a_sel_anzahlA .= "<option value ='$zahl'>$zahl<option>\n";
      }
      $a_sel_anzahlA .= "<select>\n"
      #. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
      $a_sel_anzahlB = "<select name='anzahlb:='><option value="">Anzahl...</option>\n";
      for my $zahl(1..$istfreiB){
      $a_sel_anzahlB .= "<option value ='$zahl'>$zahl<option>\n";
      }
      $a_sel_anzahlB .= "<select>\n"
      #. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
      # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #
      #. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
      if ($istfreiA < $wunschA || $istfreiB < $wunschB){ # wenn überbucht würde
       # variable ausgabe für die meldung bauen, je nachdem, welche
         # kategorie durch die neuen bestellung überfüllt würde
         # ggf. plural-endung mit bauen
         $bindewort = "ist";
       $katvoll = "A" if $istfreiA < $wunschA;
         if ($istfreiA < $wunschA && $istfreiB < $wunschB){ # wenn beide kats überbucht würden
          $plural = "n"; $bindewort = "sind"
          $katvoll .= " und "
         } # e if frei < wunsch)
         $katvoll .= "B" if $istfreiB < $wunschB;
         if ($istfreiA > 0 || $istfreiB > 0){
          $a_nochfrei = "Folgende Freien Plätze sind noch vorhandenAnh<br>";
          $a_nochfrei .= "<li>Kategorie A: $istfreiA Plätze</li>" if $istfreiA > 0;
          $a_nochfrei .= "<li>KategorieB: $istfreiB Plätze</li>" if istfreiB >0;
         }
       #. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
         out<<EOF;
         Ihre Reservierung kann leider nicht angenommen werden.<br>
         Die Kategorie$lural $katvoll $bindewort bereits ausverkauft.<br>
         <ul>$a_nochfrei</ul>
      EOF
      $cnt_fehler = 1; # Fehlerzähler auf 1 setzen, damit nicht gespeichert wird
      } # E Fehlerauswertung und Ausgabe Fehlerhinweis
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # hier jetzt nicht ""sonst" abspeichern sondern fürs Abspeichern gesondert die Bedingungen
      # abfragen: wenn kein Fehler und istfreiA und istfreiB grösser als der Wunsch
      if ( $cnt_fehler <=0 && ($istfreia >= $wunschA && $istfreiB >= $wunschB)) { # ok
       if (%_put && $cmd eq "add") {
       put undef, "reservierungen";
       out<<EOF;
         <h3>Vielen Dank für Ihre Reservierung</h3>
         Folgende Daten wurden von Ihnen eingegeben:
         <ul>Reservierungsdaten:
         <li>Datum: $_put{Datum}</li>
         <li>Name: $_put{Name}</li>
         <li>AnzahlB: $_put{AnzahlA}</li>
         <li> AnzahlB: $_put{  AnzahlB}</li>
      EOF
       $wurde_gespeichert = 1;
       }
      }
      # Hier das Formular ausgeben, aber nur bedingt, wenn nicht abgespeichert wurde
      if (!$wurde_gespeichert){
       out<<EOF;
       Folgende Freien Plätze sind noch vorhanden:<br>
       Kategorie A: $istfreiA - KategorieB: $istfreiB<br>
         Bitte wählen Sie die gewünschte Anzahl Reservierungen aus:<br>
       <form action="$_link" method=post enctype="multipart/form-data">
       <input type="hidden" name="cmd=" value="add"></input>
       <input type="hidden" name="Datum:=" value="$Datum_in"></input>
       <font face=verdana size=-1>
       Anzahl-A:&nbsp;$a_sel_anzahlA ($istfreiA)&nbsp;
       Anzahl-B:&nbsp;$a_sel_anzahlB&nbsp;<br>
       Name:<input type=text name="Name:="></input><br>
       Email: <input type=text name="Email:="></input><br>
       Name + Email sind Pflichtfelder!
       <input type="submit" value="reservieren"></input>
       </form>
       </font>
      EOF
      }
      </perl>
      
      ---schnapp
      Ruben

     Antworten

    Beitrag von markus (1013 Beiträge) am Montag, 21.Februar.2005, 14:42.
    @ruben Re: problem mit ergebnishash

      hallo ruben,

      ich habe mal versucht, daß ganze mit logik zu betrachten :-)

      wenn B ausverkauft ist und bei A noch 6 frei sind wird das erkannt,
      aber A ist nicht mehr buchbar - ???

      wenn ich per formular für B "0" und für A "2" anfrage, sagt mir doch die logik, daß im grunde doch nur A abgefragt wird und B durch die "0"
      auch nicht überbucht wäre - dann müßte die buchung doch funktionieren -
      das sagt zumindest mein einfaches verständnis.

      müßte es nicht gehen, wenn man die abfrage für A und B separat macht und nicht zusammen, in etwa so:
      anfrage für A = 2
      prüfen, ob noch genügend frei
      ergebnis: ja
      anfrage für B = 4
      prüfen, ob noch genügend frei
      ergebnis: nein
      meldung:
      buchung nicht möglich, angeforderte rubriken so nicht buchbar

      so expliziet mit "es ist noch die summe X frei" und abfrage mit felder müssen ausgefüllt sein, so wie du es beschrieben hast, ist zwar toll, verknotet meine gehirnstränge unnötig, um erstmal das wichtigste zu verstehen.

      markus

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 21.Februar.2005, 18:28.
    Re: @ruben Re: problem mit ergebnishash

      mhm - stimmt auch - die Abragen einzeln machen und auswerten und dann zusammenbringen.
      Hab momentan leider keine Zeit, nochmal genauer reinzuhupfen - probiers doch einfach mal Schritt für Schritt....

     Antworten

    Beitrag von markus (1013 Beiträge) am Montag, 21.Februar.2005, 19:40.
    Re: @ruben Re: problem mit ergebnishash

      hi ruben,

      erstmal danke für die bestätigung, daß ich damit nicht so falsch liege.

      markus

     Antworten


     
 Liste der Einträge von 25650 bis 25800:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < 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.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!