Mehrere DBs in einem Template - dies könnte evtl. klappen, Wer kann helfen? - 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 RaveDave (33 Beiträge) am Samstag, 1.Februar.2003, 19:13.
    Mehrere DBs in einem Template - dies könnte evtl. klappen, Wer kann helfen?

      Hallo.

      Wie bekomme ich es hin, daß der Wert einer Variablen "keyword", mit "&" angehängt an die URL als Abfrage der DB genutzt werden kann?

      Bsp: url&keyword=XYZ

      Folgender Quellcode funktioniert nicht.

      ---
      <table border="0" cellspacing="4" cellpadding="4">
      

      <perl db=main>
      if ($keyword eq "1")
      {
      out "<loop db=main sort=-SponsoredLink,Name>";
      out "<tr>";
      out "<td valign=top width=100><b><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1><a href=$URL target=_blank>$Name ";
      out "</a></font></b></td>";
      out "<td valign=top><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>$Beschreibung <br> <a href=http://baseportal.de/cgi-bin/baseportal.pl?htx=/u_s_s/detail&URL==$URL >[Details...]</a><br>";
      out "<i>Letzte Änderung: $Datum</i>";
      out "</font></td>";
      out "</tr>";
      out "<tr>";
      out "<td valign=top colspan=2><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>______________________________________________________________________________</font></td>";
      out "</tr>";
      out "</loop>";
      }
      </perl>
      

      <perl db=marken&Markenname==$keyword>
      if ($Markenname eq "")
      {
      out "<tr><td colspan=2 align=center><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1><b>";
      out "Leider ist noch kein Shop in dieser Rubrik vorhanden!";
      out "</b></font></td></tr>";
      out "<tr><td valign=top colspan=2><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>______________________________________________________________________________</font></td></tr>";
      }
      </perl>
      </table>
      

      ----
      die Variable keyword trägt in diesem Fall den Namen eines Feldes der DB "main". Dies ist ein Checkboxfeld, welches im angeklickten Zustand den Wert 1 hat. Wenn es nicht ausgewählt ist, so hat es den Wert 0.

      Der obere Teil des Quelltextes soll diejenigen Einträge ausgeben, welche ausgewählt sind. Der untere Teil soll eine Meldung ausgeben, daß bei keinem der Datenbankeinträge dieses Feld angekreuzt ist.

      Nur zur Erklärung warum ich das Feld nicht direkt anspreche:
      Auf meiner Seite http://baseportal.de/cgi-bin/baseportal.pl?htx=/u_s_s/index habe ich in der linken Navigationsleiste mehrere DB-Abfragen, die auf andere DB verweisen. Wenn ich das DB-Feld der DB main nun über die URL direkt mit url&DB-Feld==1 ansprechen will, so kommt immer eine Fehlermeldung, daß dieses Feld in den anderen DBs nicht existiert. Das möchte ich so vermeiden. Die Funktionalität war bisher, bis auf die Fehlermeldungen in der Navigation, bei folgendem Quelltext gegeben:

      ----
      <table border="0" cellspacing="4" cellpadding="4">
      <loop sort=-SponsoredLink,Name >
      <tr>
      <td valign="top" width="100"><b><font color="#800000" face="VERDANA,ARIAL,HELVETICA" size="1"><a href=$URL target=_blank>$Name </a></font></b></td>
      <td valign="top"><font color="#800000" face="VERDANA,ARIAL,HELVETICA" size="1">$Beschreibung <br> <a href=http://baseportal.de/cgi-bin/baseportal.pl?htx=/u_s_s/detail&URL==$URL >[Details...]</a><br>
      <i>Letzte Änderung: $Datum</i>
      </font></td>
      </tr>
      <tr>
      <td valign="top" colspan="2"><font color="#800000" face="VERDANA,ARIAL,HELVETICA" size="1">______________________________________________________________________________</font></td>
      </tr>
      </loop>
      

      <perl db=marken>
      if ($Name eq "")
      {
      out "<tr><td colspan=2 align=center><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1><b>";
      out "Leider ist noch kein Shop in dieser Rubrik vorhanden!";
      out "</b></font></td></tr>";
      out "<tr><td valign=top colspan=2><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>______________________________________________________________________________</font></td></tr>";
      }
      </perl>
      </table>
      

      -----

      Vielen Dank für Eure Unterstützung!

      Gruß David


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von RaveDave (33 Beiträge) am Samstag, 1.Februar.2003, 19:13.
    Mehrere DBs in einem Template - dies könnte evtl. klappen, Wer kann helfen?

      Hallo.

      Wie bekomme ich es hin, daß der Wert einer Variablen "keyword", mit "&" angehängt an die URL als Abfrage der DB genutzt werden kann?

      Bsp: url&keyword=XYZ

      Folgender Quellcode funktioniert nicht.

      ---
      <table border="0" cellspacing="4" cellpadding="4">
      

      <perl db=main>
      if ($keyword eq "1")
      {
      out "<loop db=main sort=-SponsoredLink,Name>";
      out "<tr>";
      out "<td valign=top width=100><b><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1><a href=$URL target=_blank>$Name ";
      out "</a></font></b></td>";
      out "<td valign=top><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>$Beschreibung <br> <a href=http://baseportal.de/cgi-bin/baseportal.pl?htx=/u_s_s/detail&URL==$URL >[Details...]</a><br>";
      out "<i>Letzte Änderung: $Datum</i>";
      out "</font></td>";
      out "</tr>";
      out "<tr>";
      out "<td valign=top colspan=2><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>______________________________________________________________________________</font></td>";
      out "</tr>";
      out "</loop>";
      }
      </perl>
      

      <perl db=marken&Markenname==$keyword>
      if ($Markenname eq "")
      {
      out "<tr><td colspan=2 align=center><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1><b>";
      out "Leider ist noch kein Shop in dieser Rubrik vorhanden!";
      out "</b></font></td></tr>";
      out "<tr><td valign=top colspan=2><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>______________________________________________________________________________</font></td></tr>";
      }
      </perl>
      </table>
      

      ----
      die Variable keyword trägt in diesem Fall den Namen eines Feldes der DB "main". Dies ist ein Checkboxfeld, welches im angeklickten Zustand den Wert 1 hat. Wenn es nicht ausgewählt ist, so hat es den Wert 0.

      Der obere Teil des Quelltextes soll diejenigen Einträge ausgeben, welche ausgewählt sind. Der untere Teil soll eine Meldung ausgeben, daß bei keinem der Datenbankeinträge dieses Feld angekreuzt ist.

      Nur zur Erklärung warum ich das Feld nicht direkt anspreche:
      Auf meiner Seite http://baseportal.de/cgi-bin/baseportal.pl?htx=/u_s_s/index habe ich in der linken Navigationsleiste mehrere DB-Abfragen, die auf andere DB verweisen. Wenn ich das DB-Feld der DB main nun über die URL direkt mit url&DB-Feld==1 ansprechen will, so kommt immer eine Fehlermeldung, daß dieses Feld in den anderen DBs nicht existiert. Das möchte ich so vermeiden. Die Funktionalität war bisher, bis auf die Fehlermeldungen in der Navigation, bei folgendem Quelltext gegeben:

      ----
      <table border="0" cellspacing="4" cellpadding="4">
      <loop sort=-SponsoredLink,Name >
      <tr>
      <td valign="top" width="100"><b><font color="#800000" face="VERDANA,ARIAL,HELVETICA" size="1"><a href=$URL target=_blank>$Name </a></font></b></td>
      <td valign="top"><font color="#800000" face="VERDANA,ARIAL,HELVETICA" size="1">$Beschreibung <br> <a href=http://baseportal.de/cgi-bin/baseportal.pl?htx=/u_s_s/detail&URL==$URL >[Details...]</a><br>
      <i>Letzte Änderung: $Datum</i>
      </font></td>
      </tr>
      <tr>
      <td valign="top" colspan="2"><font color="#800000" face="VERDANA,ARIAL,HELVETICA" size="1">______________________________________________________________________________</font></td>
      </tr>
      </loop>
      

      <perl db=marken>
      if ($Name eq "")
      {
      out "<tr><td colspan=2 align=center><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1><b>";
      out "Leider ist noch kein Shop in dieser Rubrik vorhanden!";
      out "</b></font></td></tr>";
      out "<tr><td valign=top colspan=2><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>______________________________________________________________________________</font></td></tr>";
      }
      </perl>
      </table>
      

      -----

      Vielen Dank für Eure Unterstützung!

      Gruß David

     Antworten

    Beitrag von RaveDave (33 Beiträge) am Sonntag, 2.Februar.2003, 08:50.
    Weiterer Versuch

      Hallo.

      Auch wie im Folgenden dargestellt klappt es leider nicht. Woran liegt das denn nur? Hier werden stets ALLE Einträge der DB "main" ausgegeben. Ich lasse mir sogar mit "out $holen_DB;" noch den Wert der Variablen ausgeben und derstimmt mit dem überein, was stehen müßte, damit es zur korrekten Ausgabe kommt.

      <perl>
      if ($keyword)
      {
      $holen_DB="$keyword==1";
      out $holen_DB;
      }
      </perl>
      


      Wahrscheinlich er hier als nächstes "holen_DB" nicht mit dessen Wert weil das "$" fehlt. Aber auch wenn ich das hinschreibe, so klappt das nicht.

      <loop sort=-SponsoredLink,Name db=main&holen_DB >
      
      ...
      </loop>


      <perl db=main&holen_DB>
      if ($Name eq "0")
      
      ...
      </perl>

      Gruß DAvid

     Antworten

    Beitrag von Joerg (159 Beiträge) am Sonntag, 2.Februar.2003, 22:46. WWW: pirateninsel.net
    Re: Mehrere DBs in einem Template - dies könnte evtl. klappen, Wer kann helfen?

      Wenn ich es bisher richtig verstanden habe, so geht ein loop im perl nicht.

      Hier mein Lösungsversuch:

      <table border="0" cellspacing="4" cellpadding="4">
      <perl>
      get "Id==* sort=-SponsoredLink,Name","main";
      while(get_next("main"))
      {
      if ($keyword eq "1")
      {
      out "<tr>";
      out "<td valign=top width=100><b><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1><a href=$URL target=_blank>$Name ";
      out "</a></font></b></td>";
      out "<td valign=top><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>$Beschreibung <br> <a href=\"http://baseportal.de/cgi-bin/baseportal.pl?htx=/u_s_s/detail&URL==$URL\">[Details...]</a><br>";
      out "<i>Letzte Änderung: $Datum</i>";
      out "</font></td>";
      out "</tr>";
      out "<tr>";
      out "<td valign=top colspan=2><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>______________________________________________________________________________</font></td>";
      out "</tr>";
      }
      }
      get "Markenname==$keyword","marken";
      if ($Markenname eq "")
      {
      out "<tr><td colspan=2 align=center><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1><b>";
      out "Leider ist noch kein Shop in dieser Rubrik vorhanden!";
      out "</b></font></td></tr>";
      out "<tr><td valign=top colspan=2><font color=#800000 face=VERDANA,ARIAL,HELVETICA size=1>______________________________________________________________________________</font></td></tr>";
      }
      </perl>
      </table> 
      

      Joerg

     Antworten

    Beitrag von RaveDave (33 Beiträge) am Montag, 3.Februar.2003, 09:31.
    klappt leider nicht :o(

      Trotzdem vielen Dank für Deine Mühe Joerg!

      Es erfolgt weder die Ausgabe, daß ein Eintrag vorhanden ist, noch daß keiner da ist.

      Es ist zum verzweifeln! Ich habe schon das ganze Wochenende daran gesessen aber leider ohne Erfolg. Irgendwie muß das doch funktionieren.

      Gruß David

     Antworten


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