Re: Daten eingeben/ ändern mit do_action all / do_all - 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 hempelr (1976 Beiträge) am Donnerstag, 13.März.2003, 08:33.
    Re: Daten eingeben/ ändern mit do_action all / do_all

      naja - diese Diskussion gabs schon mal vor langer Zeit, und ehrlich gesagt ist es auch ein wenig schwer verständlich, wenn man mit bp beginnt....

      all("alles machen") heißt wie es steht, alles machen, also datensätze anzeigen, ändern, neu aufnehmen. Mit den Parametern ist zum einen die Optik der Ausgabe und zum anderen die Art der Ausgabe (Listenausgabe, Formularausgabe, Einzeldatensatzausgabe etc.) steuerbar.
      Da dieses System in einigen Dingen (u.a. halt auch mit den ausgeblendeten Formfeldern) bei speziellen Wünschen zu unflexibel und teilweise auch nicht ausreichend ist, bin ich persönlich ganz weg von den Standard-Befehlen und arbeite nur noch mit Perl. Das ist zwar weitaus zeitaufwändiger, aber mnan ist vollkommen flexibel.
      Mit einigen Workarounds, die immer wieder mal im Forum gepostet wurden, ist aber auch vieles zu umschiffen - aber es wird dann auch schon recht komplex.....
      Ruben


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von frajosch (25 Beiträge) am Montag, 10.März.2003, 16:49.
    Daten eingeben/ ändern mit do_action all / do_all

      Hallo und guten Tag,
      1.ändere ich Daten direkt in "Bedienen Datenbanken", funktioniert alles.
      2. ändere ich Daten(auch Neuanlegen) mit :
      <do action=all db=cars> oder "do_all db=cars"
      
      geht auch alles.
      3. die selbe Aktion mit :
      do_all "db=cars selectbrowse=top,bottom, pagebrowse=no, maxlistlength=100, formfields=-url,Bild,mini,slash,cols listfields=titel,ordner,Farbe,EZ,Km,PS,MWST,Preis,cols range=all"; 
      
      ergibt folgende Fehler :
      1. )wenn "cols" nicht in formfields enthalten :Das Feld cols ist ein "Pflichtfeld" und verhindert eine Aktualisierung der Tabelle (obwohl Inhalt vorhanden bzw. durch Vorgabe erzeugt)Fehlermeldung:Das Feld cols darf nicht leer sein.

      2.) scheinbar durch Ausblenden des Feldes "url" (vorbelegt)wird das entsprechende Bild nich mehr angezeigt

      Gibt es die Möglichkeit alle, auch die nicht angezeigten zu aktualiseren/neuanzulegen ??

      (In der Doku und im Forum bringt mich die Suche nach "do_all" bzw "do_action all" leider nicht weiter.)

      MFG frajosch

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 12.März.2003, 21:09.
    Re: Daten eingeben/ ändern mit do_action all / do_all

      Hallo, frajosch
      wenn du mittels do_all felder im formfields nicht anzeigen läßt, werden die auch nicht aktualisiert (wie auch, es werden ja dann keine Werte übergeben, die auswertbar zum schreiben wären), zumal du das Feld noch als Pflichtfeld gemacht hast (denke mal in der DB-Definition mittels "Eingabe erforderlich"?) - im Gegenteil, beim Ändern werden die Inhalte nicht vorhandener Felder (beim do_all und do action all) sogar komplett gelöscht :-( und bei der Neuanlage von Datensätzen wird nichts reingeschrieben. Es sei denn, es gibt ne Vorbelegung - das wird aber dann wirklich nur bei do action all und bei do_all(bin ich mir nicht ganz sicher) ins Feld geschrieben; wenn dus mittels Perl und put machst, ist dann auch nischt im entsprechenden Datenfeld drin)
      Da gabs mal (vor langer Zeit und noch mal wiederholt) nen Workaround von CB, der fürs Ändern von vorh. Datensätzen zuständig war und verhindert, dass nicht mit im formfields genannte Felder geleert werden:
       
      URL: http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/baseportal/forum&wcheck=1&Pos=4863.5

      Dann solltest du aber auch die "Pflicht" für das ausgeblendete Feld rausnehmen, sonst kommt die Fehlermeldung bei nicht vorhandenem Inhalt und Anlegen neuer DS ja immer wieder...

      Naja - und wenn du in deinem Feld url die URL fürs anzuzeigende Bild drin hast, dann kann es ja bei Ausblenden (wo eigentlich, in listfields oder in formfields ausgeblendet?) auch nicht mit angezeigt werden, weil dus ja nicht anzeigen lassen willst....
      Die "einfachen" BasePortal Tags und Befehle sind ja genau dazu da, "nur" das anzuzeigen was man auch explizit zuweist und erlaubt (oder explizit verbietet, da wird dann das "nicht verbotene" angezeigt...)
      Schau dir mal den ganzen Doku-Abschnitt zu do action und den Parametern paarmal richtig an und versuchs zu verstehen (fällt am Anfang nicht immer ganz leicht), da wird das dann doch etwas klarer, oder?
      CU
      Ruben

     Antworten

    Beitrag von Frajosch (0 Beiträge) am Donnerstag, 13.März.2003, 00:15.
    Re: Daten eingeben/ ändern mit do_action all / do_all

      Vielen Dank für die Antwort @hempelr,
      wenn dies so ist -- naja...
      Für mein Verständnis ist ein "Ausblenden" von Feldern nicht gleichbeteutend mit keine Werte übergeben. Diese werden per Vorbelegung gefüllt. Diese sollen, ähnlich wie ein "Hidden" Feld halt nur nicht angezeigt werden, aber im Gegensatz zu "Hidden" in "Baseportal" gepflegt (Vorbelegung ändern etc) werden. Danke für den Link auf das Workaround, werde ich ausprobieren.
      Zum Feld URL, in formfields=-feld1,etc wie in meiner Anfrage unter do_all beschrieben.
      Den Doku abschnit von do_all und den Parametern habe ich mir bestimmt hundert mal angeschaut.
      Wo gibt es da einen Hinweis, daß nicht angezeigte Felder nicht aktualisiert werden ?
      Wenn ich in einer Funktion die Daten änder/anlegen soll Felder ausblenden kann und diese dann NICHT übergeben werden, dann ist das meiner Meinung nach für die Katz.

      Meine Denkweise ist da vielleicht durch den Umgang mit "Datenbanken" in den letzten 20 Jahren etwas verschroben. (Da funktioniert das selbstverständlich querbeet)

      Dir auf jedenfall herzlichen Dank für deine Antwort, ich versuchs mit dem Workaround, aber gut iss anders.

      MFG frajosch

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 13.März.2003, 00:16.
    Re: Daten eingeben/ ändern mit do_action all / do_all

      also das sieht ungefähr so aus:
      <perl>
      if (%_put){
         if($_get{Id}){     # zu ändernder DS?
            get "Id==$_get{Id}","dbname"; #alten ds holen 
            $_put{url}=$_loop{url};   # url übernehmen 
            $_put{cols}=$_loop{cols}; # cols übernehmen
         }else{             # neueintrag?
           $_put{url}="Vorbelegung"; # vorbelegen
           $_put{cols}="Vorbelegung"; # cols vorbelegen
         }
      }
      do_all ......
      </perl>
      

      Sander

     Antworten

    Beitrag von frajosch (25 Beiträge) am Donnerstag, 13.März.2003, 00:27.
    Re: Daten eingeben/ ändern mit do_action all / do_all

      Hallo und guten Morgen,
      vielen Dank für die Antwort @Sander. Gerne werde ich auch diese Workaround testen. Das bedeutet aber doch, daß "do_action=all / do_all" im Zusammenhang mit dem Parameter "formfields" nicht sinnvoll angewendet werden kann ??

      MFG frajosch

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 13.März.2003, 00:32.
    Re: Daten eingeben/ ändern mit do_action all / do_all

      doch, wenn man nebenbei noch berechnungen durchführen möchte und diese parellel speichern will. Für den normalen user ist es etwas umständlich etwas auszublenden. Dafür gibts ja dann aber die <perl>-programmierung. eventuell sollte man noch die option readonly bei bp setzen können, also anzeigen aber nicht editierbar.

      Gute Nacht ;-)
      Sander

     Antworten

    Beitrag von frajosch (25 Beiträge) am Donnerstag, 13.März.2003, 01:07.
    Re: Daten eingeben/ ändern mit do_action all / do_all

      @Sander,
      für's Auslesen ja, aber doch nicht beim "Ändern /Neuanlegen" dann sind die Inhalte doch futsch. Ich glaube nun zu verstehen, do_all bzw do action=all bezieht sich hier auf alle Felder, nicht wie in der Doku beschrieben :
      

      all ("Alles machen")

      all übernimmt die komplette Ausgabe der Datenbank, erlaubt die Suche nach bestimmten Feldeinträgen, überprüft die Zugriffsrechte und stellt, falls erlaubt, das Eingabeformular aus. Dabei ist es durch eine Vielzahl von Parametern steuerbar.

      Eingabeformular in Verbindung mit Parameter hat mir eingentlich was anderes bedeutet. ;-)

      MFG frajosch

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Donnerstag, 13.März.2003, 08:33.
    Re: Daten eingeben/ ändern mit do_action all / do_all

      naja - diese Diskussion gabs schon mal vor langer Zeit, und ehrlich gesagt ist es auch ein wenig schwer verständlich, wenn man mit bp beginnt....

      all("alles machen") heißt wie es steht, alles machen, also datensätze anzeigen, ändern, neu aufnehmen. Mit den Parametern ist zum einen die Optik der Ausgabe und zum anderen die Art der Ausgabe (Listenausgabe, Formularausgabe, Einzeldatensatzausgabe etc.) steuerbar.
      Da dieses System in einigen Dingen (u.a. halt auch mit den ausgeblendeten Formfeldern) bei speziellen Wünschen zu unflexibel und teilweise auch nicht ausreichend ist, bin ich persönlich ganz weg von den Standard-Befehlen und arbeite nur noch mit Perl. Das ist zwar weitaus zeitaufwändiger, aber mnan ist vollkommen flexibel.
      Mit einigen Workarounds, die immer wieder mal im Forum gepostet wurden, ist aber auch vieles zu umschiffen - aber es wird dann auch schon recht komplex.....
      Ruben

     Antworten


     
 Liste der Einträge von 39750 bis 39900: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!