Absolut unlogisches und unreproduzierbares Verhalten von loop!!!! - 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 Ruben (403 Beiträge) am Montag, 26.Februar.2001, 12:18.
    Absolut unlogisches und unreproduzierbares Verhalten von loop!!!!

      Hallo,
      nachdem ich nun stundenlang mit versch. Abfragekriterien innerhalb von loop experimentiert habe weiß ich nicht mehr weiter.
      Wenn ich zwei Datenfelder habe und als Filterkriterium je nach Wunsch einmal mehrere Inhalte und einmal nur nach einem Inhalt abfragen will, haut das immer nur hin, wenn als erstes das Feld mit den mehreren Kirterien steht und dann das Feld mit dem Einzelkriterium.
      Beispiele:
      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes landkreis~=Anna or landkreis~=Mitt and art~=frei code=perl>
      

      Das funktioniert, folgendes aber nicht (obwohl es die gleiche Abfrage ist!):

      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes art~=frei landkreis~=Anna or landkreis~=Mitt code=perl>
      

      Das hier auch nicht:

      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes art~=frei and landkreis~=Anna or landkreis~=Mitt code=perl>
      

      und das hier auch nicht:

      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes landkreis~=Anna or landkreis~=Mitt art~=frei code=perl>
      

      Das ganze ist so unusable, daß es nicht geht,die Abfragekriterien in eine Var zu packen und diese abhängig von Links o.ä. zu ändern.
      Es müßte dann immer die Reihenfolge der Vars im loop umgestellt werden, je nachdem ob mehrere oder ein Kriterium abgefragt werden sollen.
      Und dann noch der Effekt, daß bei Vorhandensein von mehreren Kriterien bei einem Feld das andere explizit mit "and" angebunden werden muß.
      Jetzt bin ich am Ende meines Lateins - vielleicht hat ja jemand ne Idee, wie das gehen könnte.
      Ruben


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Ruben (403 Beiträge) am Montag, 26.Februar.2001, 12:18.
    Absolut unlogisches und unreproduzierbares Verhalten von loop!!!!

      Hallo,
      nachdem ich nun stundenlang mit versch. Abfragekriterien innerhalb von loop experimentiert habe weiß ich nicht mehr weiter.
      Wenn ich zwei Datenfelder habe und als Filterkriterium je nach Wunsch einmal mehrere Inhalte und einmal nur nach einem Inhalt abfragen will, haut das immer nur hin, wenn als erstes das Feld mit den mehreren Kirterien steht und dann das Feld mit dem Einzelkriterium.
      Beispiele:
      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes landkreis~=Anna or landkreis~=Mitt and art~=frei code=perl>
      

      Das funktioniert, folgendes aber nicht (obwohl es die gleiche Abfrage ist!):

      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes art~=frei landkreis~=Anna or landkreis~=Mitt code=perl>
      

      Das hier auch nicht:

      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes art~=frei and landkreis~=Anna or landkreis~=Mitt code=perl>
      

      und das hier auch nicht:

      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes landkreis~=Anna or landkreis~=Mitt art~=frei code=perl>
      

      Das ganze ist so unusable, daß es nicht geht,die Abfragekriterien in eine Var zu packen und diese abhängig von Links o.ä. zu ändern.
      Es müßte dann immer die Reihenfolge der Vars im loop umgestellt werden, je nachdem ob mehrere oder ein Kriterium abgefragt werden sollen.
      Und dann noch der Effekt, daß bei Vorhandensein von mehreren Kriterien bei einem Feld das andere explizit mit "and" angebunden werden muß.
      Jetzt bin ich am Ende meines Lateins - vielleicht hat ja jemand ne Idee, wie das gehen könnte.
      Ruben

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Montag, 26.Februar.2001, 14:11.
    Re: Absolut unlogisches und unreproduzierbares Verhalten von loop!!!!

      hi ruben,
      vielleicht kann ich die helfen.
      habe heute morgen gleiches problem gehabt und bin fast verrückt geworden. er hat ein feld als nicht existent angemeckert, obwohl es in der datei war. ich wollte nun nicht schon wieder sander nerven und habe selbst stundenlang gesucht
      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes art~=frei landkreis~=Anna or
                   landkreis~=Mitt code=perl>
      

      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes art~=frei landkreis~=Anna or
                   landkreis~=Mitt code=perl> 
      

      beide codes sehen doch eigentlich gleich aus, aber der untere müsste funktionieren. bei dem or (ich benutze | , aber das dürfte egal sein) hast du danach kein leerzeichen. das nimmt er dir übel. ich finde, da sollte auch ein hinweis in die doku, wie peinlich genau man auf die leerzeichen achten muss. bei mir waren es leerzeichen zu viel.
      vielleicht klappts ja.
      gruss claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 26.Februar.2001, 14:50.
    Re: Absolut unlogisches und unreproduzierbares Verhalten von loop!!!!

      hi Ruben,

      wenn ich mir das so angucke sind es schon unterschiedliche Abfragen (wenn man gedanklich Klammern setzt)
      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes landkreis~=Anna or landkreis~=Mitt and art~=frei code=perl>
      
      - findet alles was Landkreis anna od. Mitt UND art=frei hat. (klammer um Landkreis Anna - Mitt)

      <loop db^=viskart range=0,1 sort=landkreis,ort,konfes art~=frei landkreis~=Anna or landkreis~=Mitt code=perl>
      
      findet alles was art=frei und Landkreis=Anna ODER nur Landkreis=Mitt (klammer um die und -Verknüpfung)

      also ganz logisch

      für den Rest bring da mal ein beispiel, so kann ich mir nix vorstellen

      Sander

     Antworten

    Beitrag von Ruben (403 Beiträge) am Montag, 26.Februar.2001, 15:46.
    Re: Absolut unlogisches und unreproduzierbares Verhalten von loop!!!!

      mhmm, hab ich mir schon fast gedacht - das hantieren mit logischen Vergleichsoperatoren ist wahrlich not easy.
      Aber folgendes:
      Ich möchte aus einem Datenbestand (Adressen und Zusatzinfos) von Kirchen, Freikirchen und Religionsgemeinschaften aus 6 Landkreisen die Ausgabe so gestalten, daß nur die Adressen aus 3 Landkreisen gelistet werden und das nur von Kirchen und Freikirchen.
      Dann will ich dazu noch auswählbar machen, ob Kirchen oder Freikirchen gelistet werden sollen, standardmäßig soll alles gelistet sein, das ganze aber "nur" in einem Bereich von ca. 10 Datensätzen.
      Die Anwendung, wo alle Arten und Landkreise gelistet werden mit der Auswahl nach Art kannst du dir unter http://baseportal.de/cgi-bin/baseportal.pl?htx=/hempelr/viskart/listall mal anschauen, du kommst auf die Seite wo alles angezeigt wird, die obere Imagemap läßt Landkreise auswählen und die Formularliste dann die Art.
      So soll es dann mit "multipler" Auswahl Landkreise und Multipler oder einfacher Auswahl Art sein. Hintergrund: bei einem speziellen Kirchenangebot sollen keine sonst. Religionsgem. mit angezeigt werden und auch nur Kirchen und Freikirchen aus 3 Landkreisen - es soll aber aufgrund der Menge dann noch eine Auswahl nach Kirchen oder Freikirchen stattfinden können)
      Hoffe, habe mich verständlich ausgedrückt.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 27.Februar.2001, 18:03.
    Re: Absolut unlogisches und unreproduzierbares Verhalten von loop!!!!

      Wie wäre es mit
      get;
      while (get_next)
      

      das ist etwas flexibler

      Ich verstehe deine sachen immer noch nicht richtig :-)

      Sander

     Antworten

    Beitrag von Ruben (403 Beiträge) am Mittwoch, 28.Februar.2001, 19:26.
    @Sander -Verknüpfung der Abfragekriterien- manchmal hilft nachdenken

      High,
      mhm, hab mich wahrscheinlich unverständlich ausgedrückt - habs aber nun geschnallt.
      Die Doku ist schon richtig, man muß halt bloß manchmal auch das machen, was drin steht!
      Also, jetzt hab ichs - <loop db=datenbank landkreis~=Anna | landkreis~=Mitt | landkreis~=Aue & art~=kirch | art~=kirch> und es funzt.
      A B E R folgendes Prob:
      die Abfrage soll variabel sein, also in der Art: <loop db=datenbank $flk $fa> wobei $flk den gesamten Abfrageausdruck für landkreise enthält und $fa den gesamten Abfrageausdruck für art.
      Den ganzen Spaß will ich dann in der URL übergeben.
      Das hab ich nun noch nicht hingekriegt, also bspw. so:
      als Vorbelegung bei "leerer" URL:
      <perl>
      $flk="landkreis~=Anna | landkreis~=Mitt" if $flk eq "";
      </perl>
      <loop db=datenbank $flk $fa>
      
      und bei Linkverweisen meinetwegen dann so:
      <a href="baseportaltemlate"&flk=landkreis~=Aue | landkreis~=Stol">Landkreiss Aue und Stollberg</a>

      um damit die Filterkriterien im loop neu zu definieren.
      Irgendwie geht das nicht, es geht nur mit der Belegung ohne Verknüfung und ohne Feldname - also so:
      <perl>
      $flk=Anna if $flk eq"";
      </perl>
      <loop db=datenbank landkreis~=$flk>
      
      ...
      und in der URL dann meinetwegen
      <a href=basportalaufruf&flk=Mitt>Mittlerer Erzgebirgskreis</a>
      

      Vielleicht hast du ja ne Idee, wie das gehen könnte - wäre echt gut zu gebrauchen, mit einem Template wäre es dann für alle möglichen Zwecke und Abfragen abgetan.

      Gruß
      Ruben

     Antworten

    Beitrag von Ruben (403 Beiträge) am Dienstag, 27.Februar.2001, 17:37.
    Logisch doch - aber wie geht es nun?

      Also, nehme alles zurück und behaupte das Gegenteil! -:)
      Wie kann man nun UND und ODER Verknüpfungen in nem Loop vornehmen, so daß man zum gewünschten Ergebnis kommt? Mit Klammern geht nicht, mit Variablen, die die Abfrage komplett enthalten geht auch nicht, hat jemand ne Idee wie man das machen könnte?
      Gruß
      Ruben

     Antworten


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