Re: Nachtrag 2 - 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 Thomas H. (180 Beiträge) am Sonntag, 21.März.2004, 10:32.
    Re: Nachtrag 2

      Hallo Ruben,

      die Relation an sich wäre nicht so wichtig, das ist richtig. Im Prinzip will ich wirklich nur die Inhalte von 2 DB´s auf 1 Template bringen und zwar in getrennten Bereichen. Eigentlich ja eine sinple Sache, aber wohl doch nicht so schnell zu realisieren.

      Das Problem ist wohl schon öfters im Forum aufgetaucht, aber so die richtige Lösung, außer dem o.g. Schript habe ich bis jetzt noch nicht gefunden.

      Man müßte vermeiden, daß im 2.Loop verhindet wird, daß Felder aus dem 1.Loop abgefragt werden.

      Gruß
      Thomas


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Thomas H. (180 Beiträge) am Freitag, 19.März.2004, 23:50.
    Noch ein Sortier Problem

      Hallo,

      ich habe ebenfalls ein Sortierungsproblem, allerdings gebe ich meine Ergebnisse per Loop aus:

      Ich habe 2 Felder: 1 Textfeld ( NLine) und 1 Zahl Feld (Lfd).

      sort=-NLine,Lfd

      Es soll also erst nach dem NLine Textfeld sortieren ( ungekehrt ) und dann nach dem Lfd Zahlenfeld.

      Nach dem NLine Feld wird sortiert, aber die Lfd wird komplett ignoriert. Wenn ich die Doku richtig gelesen habe, dann müssen doch die Felder mit Komma getrennt werden, oder?

      Gruß
      Thomas

     Antworten

    Beitrag von Thomas H. (180 Beiträge) am Samstag, 20.März.2004, 08:50.
    Nachtrag

      Hatte noch vergessen zu erwähnen:

      Die Sortierung in der DB ist wie folgt eingestellt:

      NLine ( Feldtyp Text / Sortierung Text )
      Lfd ( Feldtyp Zahl / Sortierng Zahl )

     Antworten

    Beitrag von Thomas H. (180 Beiträge) am Samstag, 20.März.2004, 22:07.
    Nachtrag 2

      Also mit der Sortierng kann ich wahrscheinlich mein Problem auch nicht lösen.

      Ich habe 1 Template in dem ich 2 Datenbankergebnisse mit unterschiedlichen Feldern unterbringen will, und zwar soll es in etwa so aussehen:

      *******************************************************
      1.Loop Schleife Datenbank A

      Auflistung der Ergebnisse einer vorangegangenen Suche
      1
      2
      3
      4....Blätterfunktion usw.

      *******************************************************


      *******************************************************
      2.Loop Schleife Datenbank B ( Newsdatenbank )

      News 1...................News2
      Bericht1.................Bericht2

      *******************************************************


      Mit der 1. Loop Schleife klappt ja soweit alles, aber ich bekomme
      die zweite Datenbank B mit der Loop Schleife nicht ohne Fehlermeldung auf das Template, da scheinbar die Felder aus Loop 1 geholt werden, die aber logischerweise nicht da sind. Ich habe von Sander ein Script gefunden, welches wohl 2 Datenbanken auf 1 Template bringen soll, wie das aber funktioniert weiß ich nicht. Und vor allem wie ich es für meinem Fall umschreiben soll, weiß ich erst gar nicht.

      Hier das Script.

      <loop code=perl db=dbname1>
      get "Verbindungsfeld==$Verbindung","dbname2";
      out <<EOF;
      

      hier htmlcode und die Vars rein

      EOF
      </loop>
      


      Kann damit jemand was anfangen?

      Gruß
      Thomas

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Sonntag, 21.März.2004, 09:25.
    Re: Nachtrag 2

      Hallo, Thomas,
      also das kurze Code-Schnipsel von oben macht folgendes:

      1. Zeile - loop....
      durchläuft die Datenbank und holt einen Datensatz nach dem anderen, alles was bis zum </loop> steht wird für jeden Datensatz gemacht

      2. Zeile get
      hier wird in jedem Schleifendurchlauf von loop eine Abfrage auf die zweite Datenbank gemacht und zwar mit der Bedingung, dass ein Feldwert aus dem Feld mit Name Verbindungsfeld in dbname2 genau den gleichen Inhalt hat wie im aktuell geholten Datensatz das Feld mit Name Verbindung aus dbname1.

      Dieser Codeschnipsel stellt eine 1:1 Beziehung von Verbindung aus DB1 zu Verbindungsfeld aus DB2 dar (kann auch eine 1:n Beziehung werden, wenn man dann im get-Zweig noch while get_next einbaut) - es wird also eine einfache Relation hergestellt.

      Da kannst du dann alles beliebige ausgeben mittels out = bzw. out<<EOF, oder aber du schreibst es "kumulativ" in eine Variable und gibst diese dann später irgendwann aus (kumulativ heisst verkettend, in etwa so: $var .= "Irgendwas aus dem Datensatz";)

      Entscheidend ist für deinen Fall doch sicher nicht die Relation, wenn ichs richtig verstehe, sondern du willst einfach nur Inhalte aus 2 Datenbanken ausgeben oder?
      Wenn mit loop, dann wäre es sinnvoll, dass die Felder in beiden DBs unterschiedliche Namen haben und dann brauchts nur noch die Ausgaben entsprechend zu basteln, ggf. muss da was mit den localparams gesetzt werden, ich find aber leider nicht mehr die Anleitung zu diesem Parameter (weiss auch nich genau, ob der unter loop überhaupt erlaubt ist...) Da wären einfach nur zwei loop-Schleifen notwendig, natürlich schon mit Angabe des Parameters db, damit jeweils die richtige Datenbank abgefragt wird
      HtH
      Ruben

     Antworten

    Beitrag von Thomas H. (180 Beiträge) am Sonntag, 21.März.2004, 10:32.
    Re: Nachtrag 2

      Hallo Ruben,

      die Relation an sich wäre nicht so wichtig, das ist richtig. Im Prinzip will ich wirklich nur die Inhalte von 2 DB´s auf 1 Template bringen und zwar in getrennten Bereichen. Eigentlich ja eine sinple Sache, aber wohl doch nicht so schnell zu realisieren.

      Das Problem ist wohl schon öfters im Forum aufgetaucht, aber so die richtige Lösung, außer dem o.g. Schript habe ich bis jetzt noch nicht gefunden.

      Man müßte vermeiden, daß im 2.Loop verhindet wird, daß Felder aus dem 1.Loop abgefragt werden.

      Gruß
      Thomas

     Antworten

    Beitrag von Thomas H. (180 Beiträge) am Sonntag, 21.März.2004, 10:54.
    Alternativ Idee

      Ich hatte ja eigentlich ursprünglich die Idee ( und das wäre mir sowieso lieber ) alles in 1 DB unterzubringen. Denn dann habe ich es säter auch einfacher mit der Volltextsuche.

      Ich hatte das auch ausprobiert und 2 Loops nacheinander gelegt. Das hatte im Prinzip auch funktioniert, aber mit der Sortierung gabe es ein Problem denn es müßte im 2.Loop dann mindestens nach 2 Feldern nacheinander sortiert werden nämlich 1. nach Bericht und 2. nach -Datum, da die neusten Einträge natürlich immer oben stehen müssen.

      Und da gab´s die Probleme, nach Bericht hat er sortiert aber die Reihenfolge war wild durcheinander, die DAtum sortierung wude komplett ignoriert. So hatte ich es sortieren lassen:

      sort=NLine,-Datum


      Wenn das funktionieren würde, könnte ich mir das mit der 2.DB doch warscheinlich sparen, oder?

      Gruß
      Thomas

     Antworten


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