Re: Datenbankabfrage mit mehreren Suchwerten - 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 Christoph Bergmann (8110 Beiträge) am Mittwoch, 1.Juni.2005, 16:03.
    Re: Datenbankabfrage mit mehreren Suchwerten

      Da musst Du ein bisschen näher (Schritt für Schritt) beschreiben was Du genau machen willst, ich verstehe das noch nicht ;-)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Helmut (141 Beiträge) am Mittwoch, 1.Juni.2005, 00:40. WWW: textatlas.de
    Datenbankabfrage mit mehreren Suchwerten

      Liebe Baseportaler,

      wie kann das Ergebnis einer Datenbankabfrage, das aus mehreren Datensätzen besteht, in einer weiteren Abfrage verwendet werden?

      Weil es so schwer zu beschreiben ist, Genaueres unter der o.g. URL:
      http://www.textatlas.de

      Es wäre schön, wenn einer helfen könnte.

      Wir möchten mit dieser Datenbank anknüpfen an den Erfolg mit
      http://www.duonline.de/div/pd/0.htm

      Mit freundlichem Gruß
      Helmut Hoffmann

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 1.Juni.2005, 16:03.
    Re: Datenbankabfrage mit mehreren Suchwerten

      Da musst Du ein bisschen näher (Schritt für Schritt) beschreiben was Du genau machen willst, ich verstehe das noch nicht ;-)

     Antworten

    Beitrag von Helmut (141 Beiträge) am Donnerstag, 2.Juni.2005, 00:18. WWW: textatlas.de
    Re: Datenbankabfrage mit mehreren Suchwerten

      Lieber Christoph,

      vielen Dank für die Bereitschaft zur Geduld.

      Es stehen drei Tabellen zur Verfügung:
      Tab1: Tabelle mit (Text-) Titeln
      Felder: [TxtNr] [Autor] [Titel]

      Tab2: Tabelle, die über zwei Nummern eine Referenz zu einer dritten Tabelle herstellt.
      (Mit dieser Tabelle wird die Wiederholung von redundanten Daten verhindert.)
      Felder: [TxtNr] [InNr]

      Tab3: Tabelle, welche die (unterschiedlichen) Fundorte von den Titeln enthält.
      Felder: [InNr] [InTitel] [InVerlag] ...

      Zuerst hat der Benutzer die Möglichkeit, nach dem von ihm gesuchten Titel zu fragen:

      Siehe: http://baseportal.de/cgi-bin/baseportal.pl?htx=/duonline/textatlas/texte_suche

      Jetzt soll - sofern möglich - durch Anclicken des gewünschten Datensatzes bzw. eines Feldes/Feldwertes mit der dadurch entnommenen Variablen >$TxtNr<
      in den zwei Dateien (Tab2 u. Tab3) nach Fundorten gesucht werden.
      Tab2 enthält dabei - um Redundanzen zu vermeiden - nur die (verschiedenen) Fundortnummern [InNr].
      Erst Tab3 enthält die genauen Daten zu je einer Fundortnummer [InNr]


      Tab2: [TxtNr] [InNr(1)] <-> Tab3: [InNr(1)] [InTitel(1)] ...
      Tab2: [ " ] [InNr(2)] <-> Tab3: [InNr(2)] [InTitel(2)] ...
      Tab2: [ " ] [InNr(3)] <-> Tab3: [InNr(3)] [InTitel(3)] ...

      Die Programmierung in dem mir geläufigen PAL (Paradox Application Language) würde im Prinzip so laufen:

      a) Durchsuche die Tab2, bis alle >InNr< zu $TxtNr gefunden sind.
      b) Durchsuche die Tab3, bis zu allen $InNr die entsprechenden InTitel usw. gefunden sind.

      c)Ausgabe:

      [TxtNr] [Autor] [Titel] ggf. nur einmal in den Kopf des Berichtes

      [InNr(1)] [InTitel(1)] [InVerlag(1)] ...
      [InNr(2)] [InTitel(2)] [InVerlag(2)] ...


      ------------------------------------------------
      konkret z.B.:

      100001 Kafka Ein Landarzt

      In:

      20001 Lesebuch65 Klett ...
      20005 Texte Diesterweg ...
      20010 Deutschbuch Stark ...

      Mit freundlichem Gruß
      Helmut Hoffmann

     Antworten

    Beitrag von richard (1187 Beiträge) am Donnerstag, 2.Juni.2005, 08:54. WWW: posaunenchor-rhoden.de
    Re: Datenbankabfrage mit mehreren Suchwerten

      --------------
      Die Programmierung in dem mir geläufigen PAL (Paradox Application Language) würde im Prinzip so laufen:

      a) Durchsuche die Tab2, bis alle >InNr< zu $TxtNr gefunden sind.
      b) Durchsuche die Tab3, bis zu allen $InNr die entsprechenden InTitel usw. gefunden sind.
      --------------

      Unter bp geht das mit verschachtelten Aufrufen von get und get_next. Da gibt es auch ein ganz praktisches Beispiel in der Doku.

      Deine Tabelle2 dürfte dabei der Kunden und die Tabelle3 der Auto-Datenbank entsprechen. Aus Deiner Tabelle1 ergibt sich der auszuwertende Datensatz der Tabelle2.

      Das Beispiel müßte noch insoweit angepaßt werden, daß aus der Tabelle2 nur der Datensatz geholt wird, der per klick ausgewählt wird. Das würde ich am Ende machen. Zunächst kannst Du diese TextNr fest vorgeben und erst einmal die Ausgabe der Fundstellen in der Tabelle3 realisieren, also statt wie im Beispiel

      get "Id==*", "kunden";
      

      so:
      get "TextNr==1", "Tabelle2"; 
      

      Hoffe ich habe Dich richtig verstanden mich ansatzweise verständlich ausgedrückt.

     Antworten

    Beitrag von Helmut (141 Beiträge) am Sonntag, 5.Juni.2005, 17:22.
    Re: Datenbankabfrage mit mehreren Suchwerten

      Lieber Richard,
      vielen Dank für den Hinweis, wenn der Dank auch etwas spät kommt.
      Nachdem es nun (und erst jetzt) im Wesentlichen klappt, noch eine Bitte um Hilfe:

      1. Wie kann ich die Anzeige in einer Tabelle erreichen?
      2. Gibt es eine elegantere Möglichkeit, die Anzeige der $TitNr zu unterdrücken, als mit einer Leerstelle. [Siehe: out " ";]

      <perl>
      

      get "TitNr==$TitNr", "in_x";

      while(get_next("in_x"))
      {
        out " ";
           get "InNr==$InNr ", "in"; 
              out "$InNr ";
              out "$Titel <br>";
      }
      

      </perl>

      Helmut

     Antworten


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