Re: Datenbank abfragen - 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 Oliver ;-) (500 Beiträge) am Donnerstag, 7.März.2002, 10:34.
    Re: Datenbank abfragen

      Hallo Bernd,

      ich habe es mir mal nachgebaut:

      get "Name==*","test";
      while (get_next("test"))
      {
      get "Name==$Name","test_Kopie";
      if ($_amount_query == 0)
      {
      put ["Name",$Name],"test_Kopie";
      out "<br>$Name eingetragen";
      }else
      {
      out "<br><font color=#990000>$Name bereits vorhanden</font>";
      }
      }
      

      Ich habe hier nur andere Feldnamen verwendet. Außerdem wird im put die Variable nicht in "" gelegt. Aber so funktioniert es...

      Oliver ;-)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Bernd (213 Beiträge) am Donnerstag, 7.März.2002, 09:03.
    Datenbank abfragen

      Hallo

      Ich möchte ein Feld namens "Titel" in meiner Datenbank mit dem Namen "RJI" abfragen und diese Daten in eine andere Datenbank namens "Artist" in das ebenso genannte Feld "Titel" speichern. Jeder Eintrag soll in der neuen Datenbank(Artist) nur einmal stehen, also bei erneutem Aufruf muß verglichen werden, ob der "Titel" schon vorliegt!
      (Die Datenbanken "RJI" und "Artist" liegen im selben Verzeichnis)
      Ich habe folgendes gemacht:

      <perl>
      get "Titel==*", "RJI";
      while(get_next("RJI"))
      {
      put ["Titel", "$Titel", "RJI"], "Artist";
      }
      </perl>
      

      Würdet Ihr mir bitte helfen, den Code ins Rechte Lot zu rücken?
      Vielen Dank!
      Bernd

      PS.: Falls Ihr mir darauf antwortet, ersuche ich um wenig Fachjargon, da ich auf dem Gebeit ein "Neuling" bin.

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Donnerstag, 7.März.2002, 09:44.
    Re: Datenbank abfragen

      Hallo Bernd,

      ich würd's mal so versuchen:

      <perl>
      get "Titel==*", "RJI";
      while(get_next("RJI"))
      {
      get "Titel==$Titel","Artist";
      if ($_amount_query == 0)
      {
      put ["Titel", "$Titel"], "Artist";
      }
      }
      </perl>
      

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Bernd (213 Beiträge) am Donnerstag, 7.März.2002, 10:01.
    Re: Datenbank abfragen

      Hallo Oliver!

      Vielen Dank für Deine Hilfe. Leider werden die Einträge in der neuen Datenbank "Artist" mehrfach eingetragen. Also bei jedem "laden" kommen ein und dieselben Einträge dazu.
      Trotzdem vielen Dank für Deine Hilfe!
      Grüße
      Bernd

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Donnerstag, 7.März.2002, 10:34.
    Re: Datenbank abfragen

      Hallo Bernd,

      ich habe es mir mal nachgebaut:

      get "Name==*","test";
      while (get_next("test"))
      {
      get "Name==$Name","test_Kopie";
      if ($_amount_query == 0)
      {
      put ["Name",$Name],"test_Kopie";
      out "<br>$Name eingetragen";
      }else
      {
      out "<br><font color=#990000>$Name bereits vorhanden</font>";
      }
      }
      

      Ich habe hier nur andere Feldnamen verwendet. Außerdem wird im put die Variable nicht in "" gelegt. Aber so funktioniert es...

      Oliver ;-)

     Antworten

    Beitrag von Bernd (213 Beiträge) am Donnerstag, 7.März.2002, 11:46.
    Re: Datenbank abfragen

      Hallo Oliver,
      nochmals vielen Dank für Deine Unterstützung. Diesmal kommen wir der Sache schon näher. Folgendes Phänomen: Beim ersten Aufruf der Seite werden die Daten vollständig in die neue Datenbank gespeichert. Bei erneutem Aktualisieren wird eigenartigerweise der 1. und 3. Datenbankeintrag nicht mehr dazugeschrieben aber die restlichen, werden einfach nochmals hinzugefügt. (Ich habe in meiner Datenbank, welche ich Abfrage für Testzwecke nur 5 Einträge - also Eintrag 2 - 4 - 5 werden bei jedem Aktualisieren immer wieder in die neue DB erneut hinzugefügt)
      Dank Deiner Idee mit den "Hinweismeldungen" ist dieser Vorgang auch gut nachzuvollziehen.
      Auf jeden Fall nochmals vielen Dank, immerhin klappt es ja mal bei 2 Einträgen. Falls Du noch einen Vorschlag hast, ersuche ich Dich wieder um Unterstützung.
      Grüße
      Bernd

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Donnerstag, 7.März.2002, 12:14.
    Re: Datenbank abfragen

      wie sieht denn dein code genau aus?

      Oliver ;-)

     Antworten

    Beitrag von Bernd (213 Beiträge) am Donnerstag, 7.März.2002, 12:40.
    Re: Datenbank abfragen

      Ok, das ist mein Code:


      <perl>
      get "Titel==*","RJI";
      while (get_next("RJI"))
      {
      get "Titel==$Titel","Artist";
      if ($_amount_query == 0)
      {
      put ["Titel",$Titel],"Artist";
      out "<br>$Titel eingetragen";
      }else
      {
      out "<br><font color=#990000>$Titel bereits vorhanden</font>";
      }
      }
      </perl>
      


      Grüße
      Bernd

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Donnerstag, 7.März.2002, 12:49.
    Re: Datenbank abfragen

      Kann ich mir jetzt nicht erklären... Bei mir funktioniert das einwandfrei...

      Hast du irgendwo im Template noch einen vergessenen Codeschnipsel?

      Hast du mal einen Link?

      Oliver ;-)

     Antworten

    Beitrag von Bernd (213 Beiträge) am Donnerstag, 7.März.2002, 13:00.
    Re: Datenbank abfragen

      Hier der Link:

      http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/rjilge/Video/Artist

      Ich habe die Datenbank komplett gelehrt, damit Du siehst was passiert, wenn Du beim Browser Aktualisieren anklickst.

      Und hier mal mein gesamter Code:

      <html><head><title></title></head>
      <body bgcolor=white text=black link=ffffff vlink=ffffff alink=ffffff
      background="#000000">
      <font face="verdana" size=2>
      

      <style type="text/css">
      <!--
      A:hover {text-decoration:overline;color:black}
      {font:9pt/10pt }. 
      //-->
      </style>
      

      <table width=95%><tr><td>
      <font face="verdana" size=2>
      <do action=all databack=#6666FF headback=#000099 gridcolor=#000099 border=0 dataface=verdana datacolor=black headcolor=ffffff datasize=2 headalign=middle headbold=1 language=en spacing=1 gridcolor=000000 border=0 sort^=Titel range^=0,10 pagebrowse=bottom buttonbrowse=no listtype=list listfields=Titel,Typ,Genre,Anzahl,Rohling,Besitzer input=top>
      

      <perl>
      get "Titel==*","RJI";
      while (get_next("RJI"))
      {
      get "Titel==$Titel","Artist";
      if ($_amount_query == 0)
      {
      put ["Titel",$Titel],"Artist";
      out "<br>$Titel eingetragen";
      }else
      {
      out "<br><font color=#990000>$Titel bereits vorhanden</font>";
      }
      }
      </perl>
      <center>
      </center>
      <font size=0>
      <font face=verdana
      <font color=ffffff>
      </body></html>
      </table>
      

      Vielen Dank!
      Bernd

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Donnerstag, 7.März.2002, 20:56.
    Re: Datenbank abfragen

      Hallo Bernd,

      ich konnte es jetzt nicht nachvollziehen, da die DB mittlerweile wieder gefüllt war. Aber es sind ein paar doppelte drin.

      Ich verstehe nur nicht, warum du die Datenübertragung unterhalb der Ausgabe der Artist-db vornimmst. Wenn überhaupt, würde ich es unter die RJI-Ausgabe einsetzen.

      Probier es doch mal mit der Übertragung ohne einen weiteren "do action"-code im Template.

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Bernd (213 Beiträge) am Freitag, 8.März.2002, 15:00.
    Re: Datenbank abfragen

      Hallo Oliver,

      danke für den Tipp, ich hab´s jetzt geschafft!

     Antworten

    Beitrag von Stefan Krupop (311 Beiträge) am Donnerstag, 7.März.2002, 22:51.
    Re: Datenbank abfragen

      Hi!

      Ich misch mich jetzt hier einfach mal ein, denn bei dem get gruselt's mir n bisserl vor der Serverbelastung. Wenn man nach einem Feld abfragt werden gleiche Inhalte direkt nacheinander gelifert, deswegen sollte auch folgendes hinhauen:
      <perl>
       get "Titel==*", "RJI";
       while(get_next("RJI")) {
       if ($Titel ne $OldTitel) {
        $OldTitel=$Titel;
        put ["Titel", "$Titel"], "Artist";
       }
      }
      </perl> 
      

      Stefan

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Donnerstag, 7.März.2002, 23:42.
    Re: Datenbank abfragen

      Du darfst dich ruhig einmischen... ist ja keine Privatveranstaltung ;-)

      Aber ich denke, dass dein Vorschlag nicht funktioniert, da so nicht überprüft wird, ob der Titel bereits in der DB "Artist" vorhanden ist. Nach deinem Vorschlag werden ja "nur" die doppelten in der DB "RJI" ausgefiltert... oder?

      Oliver ;-)

     Antworten


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