Re: @Perl-Profis/ DB schreiben - 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 olaf (59 Beiträge) am Samstag, 27.September.2003, 19:02. WWW: kleclan.de
    Re: @Perl-Profis/ DB schreiben

      mein gott, offizielle Europäische Judo Union. hört sich nach einem grösserem projekt an. da wünsch ich dir beim scripten viel erfolg und super einfälle.

      aber perl ist schon einfach nur genial. ich habe perl vor etwas mehr als 2 jahren hier über bp kennen gelernt. seit dem scripte ich für's inet nur noch in perl.

      > bis zum nächsten Prob ;-)
      
      *lach*
      wenn ich kann, helfe ich gern. man kann nicht immer alles können oder wissen. ich bin auch immer froh, wenn ich einen finde der mir tipps und tricks verrät.

      das ich hier ins forum gestolpert bin, war eigentlich nur, wegen dem bp-update. auf einmal funzte so einiges nicht mehr. mal schauen, wie oft ich in zukunft dran denke hier vorbei zu schauen. bin aber auch per mail zu erreichen.

      bis denn
      gruß - olaf


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Jürgen (614 Beiträge) am Freitag, 26.September.2003, 14:35.
    @Perl-Profis/ DB schreiben

      Hi BP-Freaks,

      nun hab ich nach meinem Urlaub mal wieder ein Problem.
      Ohh, war’s auf Zypern schööööön. Nur zu kurz das Ganze ;-)

      Hier mein Problem:
      Ich habe eine DB member die ich nach bestimmten Kriterien auslesen lasse.
      Jetzt stecken die gelisteten Datensätze in einem Form die ich nun in eine
      andere DB (basket) per senden schreiben möchte. Soweit alles kein Problem.
      Nur es dürfen nur jene Datensätze in die DB (basket) geschrieben werden,
      die einen Haken in einer Checkbox enthalten. Hoffe, hab mich verständlich ausgedrückt.

      Hier mal mein perl code:
      if ($cmd eq "putbasket")
       {
         get "Id==$_get{Id} Order==0 IDfederation==$Landfed", "member";
         while (get_next("member")) 
      {
        put ["CardID","$KartenNr","Name","$Name","Vorname","$Vorname","IDfederation","$Landfed"],"basket";
      }
      }
      
      Bitte um einen Tipp. Danke.

      Gruß
      Jürgen

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Freitag, 26.September.2003, 16:05.
    Re: @Perl-Profis/ DB schreiben

      hallo, Jürgen,
      wie heisst das Feld, dass checked sein muss?
      also ich würde nur speichern, wenn der Inhalt des Feldes den Wert 1 hat, in etwa so:

      get "Id==$_get{Id} Order==0 IDfederation==$Landfed", "member";
       while (get_next("member")){
      if ($checkfield == 1){
         put ["CardID","$KartenNr","Name","$Name","Vorname","$Vorname","IDfederation","$Landfed"],"basket";
         }
      }
      Natürlich muss der Wert von checkfield dann auch mit dem Formular übergeben werden, also mit $checfield=
      Musst nur aufpassen, dass es anders heisst als die Felder der DB, die du im get holst
      

      hth
      Ruben

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Freitag, 26.September.2003, 16:30.
    Re: @Perl-Profis/ DB schreiben

      Hi Ruben,

      danke erst mal. Leider haut das nicht hin. Es werden mir trotz alledem
      die ganzen Datensätze geschrieben. Wähle ich keinen Datensatz aus (mit Checkbox)
      wird auch keiner geschrieben. Sobald ich aber nur einen
      auswähle, wird mir die komplett gelisteten Datensätze geschrieben.
      Hmm ???????????

      Du noch eine Idee?

      Gruß
      Jürgen

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Freitag, 26.September.2003, 17:03.
    Re: @Perl-Profis/ DB schreiben

      Das hört sich an als ob du die beiden Zeilen gedreht hast ;) :

      >while (get_next("member")){
      >if ($checkfield == 1){
      


      aber generell würde ich es immer so machen, das ich ganrnicht erst die Datensätze hole die ich nicht brauche:

      get "Id==$_get{Id} Order==0 IDfederation==$Landfed", "member"; <-was ist das eigendlich? funktioniert das tatsächlich so? 
      

      Denke mal so ist es gedacht (oder, oder):
      get "Id==$_get{Id}&Order==0&IDfederation==$Landfed&checkfield ==1", "member";
      

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Freitag, 26.September.2003, 17:28.
    Re: @Perl-Profis/ DB schreiben

      Hi Pouraga,

      get "Id==$_get{Id} Order==0 IDfederation==$Landfed", "member";
      
      Hab damit noch nie Probleme gehabt. Funzt so ;-)

      get "Id==$_get{Id}&Order==0&IDfederation==$Landfed&checkfield ==1", "member";
      
      Funzt auch so ;-)

      Das Feld (&checkfield ==1) gibt es nicht in meiner DB Member,
      löst hier natürlich einen Fehler aus.
      Es sollte so funktionieren wie ein Shop. Es werden alle Datensätze in einem Form
      gelistet. Nun sollte man wählen können welche Datensätze (Produkte) in die DB basket
      geschrieben werden sollen. Eben so, wie ein Warenkorb.
      Hoffe, hast mich verstanden ;-)

      Gruß
      Jürgen

     Antworten

    Beitrag von olaf (59 Beiträge) am Freitag, 26.September.2003, 17:29. WWW: kleclan.de
    Re: @Perl-Profis/ DB schreiben

      eine lösung wäre:

      1. die variable der checkbox muss irgendwie sowas sein wie checkbox3. kann man sich zum beispiel so basteln:

      while (get_next("member")) {
      out "<input type='checkbox' name='checkbox$id=' value='1'> text ... ";
      }
      

      damit bekommt in dem hash %_get auch keys die mit checkbox anfangen.

      die id' kann ich mir dann z.b. so ausfiltern:

      foreach $a ( keys %_get ){
      

      $a=/^checkbox(\d+)/; $id=$1;

      }
      

      das übertragen der gecheckboxten member sähe dann so aus:

      foreach $a ( keys %_get ){
      if ($a=/^checkbox(\d+)/){
      $id=$1;
      get "Id==$id Order==0 IDfederation==$Landfed", "member";
      put ["CardID","$KartenNr","Name","$Name","Vorname","$Vorname","IDfederation","$Landfed"],"basket"; 
      }
      }
      

      auch wenn das nicht 100%tig eine lösung für dein prob ist, hoffe ich doch dir einen kleinen tipp gegeben zu haben.

      gruß
      olaf

     Antworten

    Beitrag von olaf (59 Beiträge) am Freitag, 26.September.2003, 17:36. WWW: kleclan.de
    Re: @Perl-Profis/ DB schreiben

      ups, kleiner fehler.

      die stellen mit $a=/^checkbox(\d+)/ müssen so aussehen: $a=~/^checkbox(\d+)/

      zum glück noch selber gemerkt ;-)

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Freitag, 26.September.2003, 20:04.
    Re: @Perl-Profis/ DB schreiben

      Hi Olaf,

      besten Dank - ich habs mal rein gezaubert - und es funzt ;-)
      Warum soll das keine 100% Sache sein??
      Kläre mich mal auf. Danke dir noch mal für die Code-Schnippsel.

      Gruß
      Jürgen

     Antworten

    Beitrag von olaf (59 Beiträge) am Samstag, 27.September.2003, 16:13. WWW: kleclan.de
    Re: @Perl-Profis/ DB schreiben

      freut mich zu hören, das das 100%tig funzt :).
      mmmh, aufklärung ?
      ich konnte ja nicht wissen wie der code drumrum aussieht und ob das was ich geschrieben sich da, wo du es verwendest, auch wohl fühlt ;-). und zu guter letzt wusste ich auch nicht ob das auch wirklich dein problem trifft.

      gruß
      olaf

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Samstag, 27.September.2003, 16:40.
    Re: @Perl-Profis/ DB schreiben

      Hi Olaf,

      ich glaub, ich muß Deine Dienste noch mal in Anspruch nehmen.
      Ich hab schon wieder ein Prob.
      Zur Verdeutlichung wie das Template aussieht, hab ich mal die Seite ins Netz
      gestellt. http://www.gastromeile.de/test/html/test.html
      Mein Problem liegt darin, das mir das Jahr nicht übergeben wird.
      So hole ich das Jahr in den Datensatz:

      ### Jahr Gültigkeit ermitteln
      sub yearvalidity
      {
      $IDcardvalue=$IDcard;
      get "Id==$IDcardvalue","card";
      out "<select class='boxk' name='Endcard='>";
      out "<OPTION VALUE='' SELECTED>- Select -</OPTION>";
      $year=datum($Validityp,"Jahr");
      $endyear=($year+$Gueltigkeit);
      foreach $option ($year..$endyear)
      {
      out " <option VALUE='$option'>$option\n ";
      }
      out "</select>";
      }
      

      Mir wird immer das ausgewählte Jahr des Letzten Datensatzes in allen
      Memberdatensätze geschrieben. ??????
      Ebenso hab ich ein Problem, das der Datensatz nicht geschrieben werden darf,
      wenn kein Jahr angegeben wurde.

      Hast du noch ein paar Tipps für mich?? Danke.

      Gruß
      Jürgen

     Antworten

    Beitrag von olaf (59 Beiträge) am Samstag, 27.September.2003, 18:16. WWW: kleclan.de
    Re: @Perl-Profis/ DB schreiben

      hallo jürgen,

      ich denke mal das alle <selects ....>'s felder im gleichen formular liegen, richtig? vom prinzip her so:
      <forum name=".... >
        <select ... name='Endcard='><option ... >...</option></select>
        <select ... name='Endcard='><option ... >...</option></select>
        <select ... name='Endcard='><option ... >...</option></select>
        usw...
      </form>
      da aber jetzt alle werte aus allen <select>'s der variablen Endcard zugewiesen werden, hat Endcard immer den wert aus dem letzten <select>.
      

      wenn ich das richtig verstanden habe, dann gehören die <select>felder zu den controllkästchen aus deinem ersten problem.

      jede <select>variable muss einzigartig sein.
      am besten zu machen mit der id von den kontrollkästchen wie bei den controllkästchen. z.b. so:
      <select ... name='Endcard$id='>
      

      so bekommst du im hash %_get wieder jede menge keys. und zwar richtig viele, weil jetzt jedes select eine Endcard$id definiert *g*.

      an die entsprechenden Endcard-wert und das "nur-abspeichern", wenn ein jahr angegeben ist, kommst du folgender massen:

      foreach $a ( keys %_get ){
         if ($a=~/^checkbox(\d+)/){
            $id=$1;
            $Endcard=$_get{"Endcard$id"};
            if ($Endcard){
                get "Id==$id Order==0 IDfederation==$Landfed", "member";
                put ["CardID","$KartenNr","Name","$Name","Vorname","$Vorname","IDfederation","$Landfed"],"basket"; 
            }
         }
      }
      

      ich hoffe ich habe das mit der zugehörigkeit der <select>'s zu den checkbox'en richtig verstanden.
      ACHTUNG!!!
      das klappt nur, wenn:
      1. der value-wert von der option -select- ='' ist (0 oder "False") also genau so wie du das in deinem script angegeben hast.
      2. die Endcard-erweiterung die gleiche erweiterung ist wie bei der dazugehörigen checkbox. ansonnsten scheint das script verwirrt ;-).

      ich hoffe ich konnte dir ein klein wenig weiter helfen.

      gruß
      olaf

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Samstag, 27.September.2003, 18:39.
    Re: @Perl-Profis/ DB schreiben

      Hi Olaf,

      alles besten - jetzt funzt es :-))

      > ansonnsten scheint das script verwirrt ;-).
      
      Hmm, verwirrt - ist doch egal, hauptsache es funzt ;-)
      Ich bin auch oft ganz schön verwirrt, wenn ich in meinem Perl-Code
      rum wühle. Na ja, wenn man bedenkt, daß ich vor einem Jahr noch
      nicht mal wusste wie man Perl schreibt ;-))
      Aber es hilft einfach nichts - ich muß mein Projekt abwickeln, sonst
      reisen mir die Judoka den Kopf runter.
      Nur so viel, es wird ein Judo-Management-System für die offizielle Europäische Judo Union.
      Bedanke mich noch mal recht herzlich für deine promten Tipps.
      Hoffe, bist auch in Zukunft für mich und alle BP-User da.

      Gruß
      Jürgen - bis zum nächsten Prob ;-)

     Antworten

    Beitrag von olaf (59 Beiträge) am Samstag, 27.September.2003, 19:02. WWW: kleclan.de
    Re: @Perl-Profis/ DB schreiben

      mein gott, offizielle Europäische Judo Union. hört sich nach einem grösserem projekt an. da wünsch ich dir beim scripten viel erfolg und super einfälle.

      aber perl ist schon einfach nur genial. ich habe perl vor etwas mehr als 2 jahren hier über bp kennen gelernt. seit dem scripte ich für's inet nur noch in perl.

      > bis zum nächsten Prob ;-)
      
      *lach*
      wenn ich kann, helfe ich gern. man kann nicht immer alles können oder wissen. ich bin auch immer froh, wenn ich einen finde der mir tipps und tricks verrät.

      das ich hier ins forum gestolpert bin, war eigentlich nur, wegen dem bp-update. auf einmal funzte so einiges nicht mehr. mal schauen, wie oft ich in zukunft dran denke hier vorbei zu schauen. bin aber auch per mail zu erreichen.

      bis denn
      gruß - olaf

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Samstag, 27.September.2003, 19:48.
    Re: @Perl-Profis/ DB schreiben

      Hi Olaf,

      > mein gott, offizielle Europäische Judo Union.
      
      Jupp, dachte ich mir auch. Wird ein Riesenprojekt - liege aber noch im Zeitplan.
      Generalprobe im November 2003 in Sarajevo - muß da, mit runter Fliegen.
      Und im Januar 2004 startet das System dann in Moskau.
      Ich hab mir mal deine E-Mail in meine Tobit reingenommen, sollte es mal
      wirklich brennen ;-)

      Gruß Jürgen

     Antworten


     
 Liste der Einträge von 34800 bis 34950: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.08s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!