Re: Re: Re: Mehrfach verkettete relationelle Datenbank & nun habe ich mich in Ketten gelegt - 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 Claus (4645 Beiträge) am Dienstag, 5.Mai.2009, 18:14.
    Re: Re: Re: Mehrfach verkettete relationelle Datenbank & nun habe ich mich in Ketten gelegt


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Uwe (51 Beiträge) am Sonntag, 3.Mai.2009, 15:39. WWW: baseportal.de/cgi-bin/baseportal.pl?htx=/Designwegwei
    Mehrfach verkettete relationelle Datenbank & nun habe ich mich in Ketten gelegt

      Liebe baseportal-Mitwisser und in diesem Fall sicherlich "Besserwisser" ;-)


      Ich habe folgende Herausforderung:

      In der Tabelle "designwegweiser" möchte ich mit der Seite "suchen" mit Hilfe der Eingabe einer "Nummer" nach passenden

      "Farbe"n suchen.
      Sofern es eine oder mehrere passende "Frabe"n gibt,
      soll - sofern vorhanden- aus der Tabelle "beispiel" mögliche Beispiele (n:m) ausgegeben werden und
      sofern in Tabelle dekorlink "Farbe"n vorhanden sind (m:1, also zu jeder "Farbe" gibt es, wenn überhaupt, ganau ein

      "Link"), ein entsprechender Link ausgegeben werden.

      Die Krönung wäre, wenn das Ergebnis in Tabellenform dargestellt werden könnte, aber selbst meine Ausgabe funktioniert

      leider nicht... Über Tipps wäre ich sehr dankbar...


      Hierzu sind folgende Tabellen und Seiten angelegt worden, jeder hat hierzu Leserechte, auch wenn die Fehlermeldung etwas anderes besagt:

      [ Fehler: /Wegweiser/ausgabe.htx kann nicht zum Ausführen geöffnet werden.
      Ursache: Die angegebene Ausgabeseite existiert nicht oder Sie haben keine Rechte zum Ausführen. Vielleicht haben Sie sich nur verschrieben?

      Lösungen: 1. Korrigieren Sie Ihre Abfrage. 2. Gehen Sie in Ihren privaten Bereich (Anmelden) und legen Sie eine entsprechende Seite an. 3. Ändern Sie die Rechte der Ausgabeseite (unter 'Verwaltung'), wenn es sich um Ihre handelt. ]

      Für Tipps wäre ich sehr dankbar!

      Herzlichen Gruß

      Uwe

      ==================================================================================================

      Tabelle "designwegweiser"

      Feld Sortierung Typ
      ---------------------------------------------
      Name Text text
      Nummer Text text
      Farbe --- Relation Datenbank=Wegweiser/beispiel, Schlüsselfeld=Farbe


      ==================================================================================================


      Tabelle "beispiel“

      Feld Sortierung Typ
      ----------------------------------------------
      Farbe Text Relation Datenbank=Wegweiser/dekorlink, Schlüsselfeld=Farbe
      Beispiel --- text

      ==================================================================================================



      Tabelle "dekorlink“

      Feld Sortierung Typ
      ----------------------------------------------
      Farbe Text text
      Link --- text
       
      ==================================================================================================


      SEITE "suche": http://baseportal.de/cgi-bin/baseportal.pl?htx=/Designwegweiser/Wegweiser/suche

      Quelltext:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      <html>
      <head>
      <title>Suche nach dem passenden Dekor</title>
      <link rel="stylesheet">
      </head>
      

      <body bgcolor="#FFFFFF" leftmargin=0 topmargin=0>

      <div align="center">
      <table width="99%"><tr><td>
      

      <form

      action="http://baseportal.de/cgi-bin/baseportal.pl?htx=/Designwegweiser/Wegweiser/ausgabe&db=designwegweiser&cmd=searc

      h&range=0,20" method="post" enctype="multipart/form-data">
      Sie können nach der Nummer suchen.<br>

      <br><br>
      <input type=hidden name="htx=" value="/Wegweiser/ausgabe">
      <input type=hidden name="cmd=" value="search">
      <input type=hidden name="range=" value="0,20">
      

      <table width="520" cellspacing="2" cellpadding="2"><tr>
      <td>Nummer:</td> <td><input type="text" name="Nummer~=" size=10 value=""><br></td>
      </tr><tr>
      <td colspan="2" align="CENTER"><input type="Submit" name="suchen"></td>
      </tr></table>
      </form>
      

      </td></tr></table>
      </div>
      

      </body>
      </html>
      


      ==================================================================================================

      SEITE "ausgabe": http://baseportal.de/cgi-bin/baseportal.pl?htx=/Designwegweiser/Wegweiser/ausgabe

      <loop db=/Wegweiser/designwegweiser sort=Name code=perl>
       out "<br><br>
       $Nummer<br>";
       out "$Name<br>" if $Name ne "";
       get "Farbe==$Farbe range=0,1 ", "beispiel";
       out "<br>
       $Beispiel<br>";
      
       <loop db=/Wegweiser/designwegweiser sort=Name code=perl>   get "Farbe==$Farbe range=0,1 ", "dekorlink";   out "<br>   $Dekorlink<br>";  </loop>

      </loop>

     Antworten

    Beitrag von richard (1187 Beiträge) am Montag, 4.Mai.2009, 10:21. WWW: posaunenchor-rhoden.de
    Re: Mehrfach verkettete relationelle Datenbank &amp; nun habe ich mich in Ketten gelegt

      Wenn Du zwischen der Tabelle/Datenbank "designwegweiser" und "beispiel" eine n:m Verknüpfung herstellen willst benötigst Du dazu eine weitere Tabelle, in welcher die Zuordnungen festgehalten werden. Also eine Tabelle "design-beispiel" mit mindestens zwei Feldern - eines für die Id des designwegweiser-Datensatzes und ein weiteres für die Id des Datensatzes aus "beispiel" Jeder Datensatz in "design-beispiel" enthält dann eine Verknüpfung zwischen den Ausgangsdatenbanken die nach Bedarf ausgelesen und ausgewertet werden können.

      Da stehst Du allerdings vor dem Problem, daß diese Verknüpfungsart nicht von der eingebauten bp-Funktionalität unterstützt wird. Um das Projekt dennoch mit bp umzusetzen mußt Du also alles was damit zu tun hat selbst programmieren (lassen) - alle Ein- und Ausgabeformulare sowie die dazugehörigen Auswertungen/Abfragen.

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Montag, 4.Mai.2009, 12:02.
    Re: Mehrfach verkettete relationelle Datenbank &amp; nun habe ich mich in Ketten gelegt

      Ein loop im loop geht so nicht (sieht mir nach endlosschleife aus, ändere das mal bald sonnst lahmt der Server wenn jeder Hansel im Forum da draufklickt.)

      Musst wenn du verschachtelt datenbankabfragen machen möchtest, solltest du das mit <perl>, get und get_next machen.


       
      Die Struktur ist mir noch nicht klar geworden aus deinen Ausführungen, deshalb frage ich mal.

      Es gibt zu jedem "designwegweiser" mehrere Beispiele? (ja, schon beantwortet)
      Jedes Beispiel kann zu mehrern Designwegweisern gehören? (ist es wirklich n:m ist die Frage und nicht 1:m was die sache erheblich vereinfacht.)

      Warum ist der Dekorlink nicht einfach ein Feld von "Beispiel"?

     Antworten

    Beitrag von Uwe (51 Beiträge) am Montag, 4.Mai.2009, 23:32.
    Re: Re: Mehrfach verkettete relationelle Datenbank &amp;amp; nun habe ich mich in Ketten gelegt

      Hallo Pouraga,

      vielen Dank für den Hinweis mit "get".

      Habe meine Seite "ausgabe" entsprechend abgeändert und nun scheint es zu funkionieren (muss morgen mal querchecken, ob es wirklich das gewünschte Ergebnis bringt, aber wenn ich z. B. F2253 in http://baseportal.de/cgi-bin/baseportal.pl?htx=/Designwegweiser/Wegweiser/suche eintrage, kommt wenigstens etwas heraus :-))):

      <perl>
      get "Nummer==$Nummer", "designwegweiser";
      while(get_next("designwegweiser"))
      {
        get "Farbe==$Farbe", "dekorlink";
        out " Link: $Link ";
        out "$Name - $Nummer (Farbe: $Farbe)<br>";
        get "Farbe==$Farbe", "beispiel";
        while(get_next("beispiel"))
        {
          out "Beispiel: $Beispiel <br> ";
        }
      }
      </perl>
      

      Nun würde ich gern die Abfrage aus der Tabelle "beispiel" sortieren, da sie um das Textfeld "Gruppe" verweitert wird und die Aussage sollte in Tabellenform alphabethisch sortiert nach Gruppe funktionieren. Meine Idee wäre die folgende, aber ich möchte den Server nicht abschießen..., daher wollte ich vorher mal fragen:

      <perl>
      get "Nummer==$Nummer", "designwegweiser";
      while(get_next("designwegweiser"))
      {
        get "Farbe==$Farbe", "dekorlink";
        out " Link: $Link ";
        out "$Name - $Nummer (Farbe: $Farbe)<br>";
      
        <loop db=/Wegweiser/beispiel sort=Gruppe code=perl>     get "Farbe==$Farbe range=0,1 ", "Beispiel: $Beispiel";     out "Gruppe: $Gruppe -- Beispiel $Beispiel<br>";   </loop>
      }
      </perl>
      

      Für einen Hinweis, ob das legal und zielführend ist und wie ich das Ergebnis aus Beispiel in einer ansehnlichen Tabelle unterbringen kann, würde ich mich sehr freuen.

      Herzlichen Dank!

      Gruß

      Uwe

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 5.Mai.2009, 07:11.
    Re: Re: Re: Mehrfach verkettete relationelle Datenbank &amp;amp;amp; nun habe ich mich in Ketten gelegt

      loop ist n i c h t f�r Perl-Bl�cke geeignet.
      Loop ist weiter nichts als ein Baseportal-internen low-level-Befehl, mit dem Baseportal quasi automatisch und intern ein get/while_get_next ausf�hrt.
      also, das loop durch get/while_get_next ersetzen und es k�nnte laufen.

      Im get sind (fast) alle Befehle, die im Loop funktionieren erlaubt.

      Allerdings solltest du bedenken, wenn deine Datenbank gr��er (also mehr Eintr�ge) bekommt, werden die Laufzeiten des Scriptes bei der Unmenge verschachtelter get/while_get_next-Schleifen ins unermessliche steigen, und dein Provider reagieren (bei Lizenz), bei Miete legst du die anderen Accounts auf dem Server lahm - auch das d�rfte zu �rger mit dem Provider f�hren, weil sich das die anderen sicher nicht gefallen lassen (s. auch die Beitr�ge �ber die langen Reaktionszeigen von Baseportal)

      Ausserdem hast du immer noch nicht begriffen, wie das get syntaktisch zu benutzen ist - also bitte, mach nochmal deine Hausaufgaben (Doku / Forensuche / eigene Versuche)

      Hier kurz f�r dich nochmal in Stichworten:

      get "Filterbedingungen Sortierung Ausgabebereich", "Datenbankname", "Ergebnishashname";
      while(get_next("Ergebnishashname"){
      
      tue etwas mit dem Zeug f�r jeden einzelnen Datensatu
      }

      >F�r einen Hinweis, ob das legal und zielf�hrend ist und wie ich das Ergebnis aus Beispiel in einer ansehnlichen Tabelle unterbringen kann, w�rde ich mich sehr freuen
      

      Machen, nicht machen lassen...
      Nur wer es will und auch tut, kann etwas lernen. Und wenn man Tage an nem Problem sitzt.
      Na dann - viel Erfolg!
      �brigens - man lernt nur vom "kleinen" zum "grossen" bzw. vom "einfachen" zum "komplexen", versuch erst mal eine einfache verschachtelte Struktur zu erstellen. Wenn das l�uft gehst du in die n�chste Ebene, und wenn du dann tats�chlich �berhaupt nicht mehr weiterkommst, wird dir gern geholfen wenn aus dem Quelltext ersichtlich ist, dass du �berhaupt irgendwas geschnitten hast... ;-)

     Antworten

    Beitrag von Claus (4645 Beiträge) am Dienstag, 5.Mai.2009, 18:07.
    Re: Re: Re: Re: Mehrfach verkettete relationelle Datenbank &amp;amp;amp;amp; nun habe ich mich in Ketten gelegt

      >Machen, nicht machen lassen...
      

      Schlachtest Du selbst und hast einen eigenen Acker, um Gemüse und Getreide anzubauen, vermutlich auch noch 'ne eigene Milchwirtschaft...?

      Ich nicht, daher kaufe ich diese Lebensmittel...;)

      Auch Autoreparaturen sind bei den heutigen Fahrzeugen nicht mehr so einfach zu machen...

      Wenn Jeder Alles könnte, wäre das vermutlich der Untergang der Marktwirtschaft, aber mittlerweile hat man den alten Tauschhandel durch Währungen ersetzt...;)

      Gruesse

      Claus

     Antworten

    Beitrag von Herbert (56 Beiträge) am Mittwoch, 6.Mai.2009, 09:31.
    Re: Re: Re: Re: Re: Mehrfach verkettete relationelle Datenbank &amp;amp;amp;amp;amp; nun habe ich mich in Ketten gelegt

      @claus
      

      Hallo, woher der Sinneswandel, du hast doch immer gepredigt selbst machen und lernen!?

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 6.Mai.2009, 10:16.
    Re: Re: Re: Re: Re: Re: Mehrfach verkettete relationelle Datenbank &amp;amp;amp;amp;amp;amp; nun habe ich mich in Ketten gelegt

      Kein Sinneswandel, sondern ich habe meistens geschrieben "Lernen oder Löhnen"...;)

      Wenn das Auto kaputt ist, kannst Du entweder eine Ausbildung zum Kfz-Mechaniker machen oder eine Werkstatt beauftragen, je nachdem, wie dringend Du das Auto benötigst...

      Gruesse

      Claus

     Antworten

    Beitrag von Herbert (56 Beiträge) am Mittwoch, 6.Mai.2009, 22:29.
    Re: Re: Re: Re: Re: Re: Re: Mehrfach verkettete relationelle Datenbank &amp;amp;amp;amp;amp;amp;amp; nun habe ich mich in Ketten gelegt

      Na klar, ich lern Automechaniker wenn der Auspuff kaputt, die Zündkerzen defekt, der Tank leer, die Birnen durchgebrannt, dafür und noch vieles mehr gibt es auch literatur "jetzt helfe ich mir selbst" oder gute freunde die Ahnung haben - verschiedene Foren auch im Internet.

      Gleiches gilt für Programmierer und die es werden wollen oder müssen.

      Also wenn Du helfen willst tu es oder lass es.

      aber verschon uns mit deinen Sprüchen.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 7.Mai.2009, 09:37.
    Re: Re: Re: Re: Re: Re: Re: Re: Mehrfach verkettete relationelle Datenbank &amp;amp;amp;amp;amp;amp;amp;amp; nun habe ich mich in Ketten gelegt

      >Also wenn Du helfen willst tu es oder lass es.
      

      Meinst Du damit so "hilfreiche" Beiträge wie Deine?

      ;)

      Gruesse

      Claus

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Dienstag, 5.Mai.2009, 09:42.
    Re: Re: Re: Mehrfach verkettete relationelle Datenbank &amp;amp;amp; nun habe ich mich in Ketten gelegt

      Kannst den sort parameter auch in get Abfragen benutzen

      <perl>
      get "Nummer==$Nummer", "designwegweiser";
      while(get_next("designwegweiser"))
      {
        get "Farbe==$Farbe", "dekorlink";
        out "Link: $Link ";
        out "$Name - $Nummer (Farbe: $Farbe)<br>";
        get "Farbe==$Farbe sort=Gruppe", "beispiel";
        while(get_next("beispiel"))
        {
          out "Gruppe: $Gruppe -- Beispiel $Beispiel<br>";
        }
      }
      </perl>
      


      Bei diesem code ist davon auszugehen, dass es zu einem Datensatz in designwegweiser "genau" einen in Dekorlink geben muss. Ich empfehle dann die Datenbanken zusammenzufassen.

      Eine Tabelle erzeugst du hier ganz konventionell mit html ;)
      http://de.selfhtml.org/html/tabellen/aufbau.htm
      Also <table> vor und nach dem while ausgeben und <tr> und <td> im while. Aber hier hast du ja ne Schachtelung, musst selbst wissen wie du das ausgeben willst (liste in tabelle?)
        

      @hempelr: Na komm, das er sich bemüht erkennt man. ;)
      

     Antworten

    Beitrag von Claus (4645 Beiträge) am Dienstag, 5.Mai.2009, 18:14.
    Re: Re: Re: Mehrfach verkettete relationelle Datenbank &amp;amp;amp; nun habe ich mich in Ketten gelegt

     Antworten


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