Re: Problem mit include - 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 hempelr (1976 Beiträge) am Sonntag, 7.Dezember.2003, 15:09.
    Re: Problem mit include

      hallo, Helmut,
      einfach - nicht db als Variablennamen zu nehmen sondern irgendwas anderes
      also meinetwegen dbf
      und dort wo deine Datenbankbefehle stehen machst du ein "db=$dbf" rein.
      hth
      Ruben


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Helmut Meisl (119 Beiträge) am Sonntag, 7.Dezember.2003, 14:09. WWW: www.meisl.info
    Problem mit include

      Wer kann mir helfen?
      Auf einem Template möchte ich ein zweites Template "inlcuden", wobei allerdings die Daten ebenfalls aus einer zweiten Datenbank kommen. Die Darstellung funktioniert grundsätzlich, nur bekomme ich vor der eigentlichen Ausgabe diese Fehlermeldungen und erst danach den korrekten Inhalt des zweiten Tempates.

      Fehlermeldungen: [ Fehler: sel: Feld (prioritaet) in /halleininfo.de/HALLEIN_TERMINE nicht vorhanden
      Ursache: Das Feld prioritaet wurde in der Datenbank nicht definiert. Vielleicht haben Sie sich bei der Abfrage auch nur verschrieben?
      Lösungen: 1. Korrigieren Sie Ihre Abfrage. 2. Gehen Sie in Ihren privaten Bereich (Anmelden), wählen Sie die entsprechende Datenbank aus, klicken Sie auf 'Felder' und fügen Sie das gewünschte Feld hinzu. ]

      Natürlich gibt es in der ersten Datenbank dieses Feld "prioritaet" nicht (wozu auch?).

      Die Abfrage innerhalb einer Tabelle lautet:
      <include src=TERMIN_index db=HALLEIN_TERMINE>
      

      Kann mit jemand sagen, wie ich diese Fehlermeldungen verhindern kann, ohne alle nicht benötigten Felder auch in der zweiten Tabelle anlegen zu müssen?

      DANKE!

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Sonntag, 7.Dezember.2003, 15:09.
    Re: Problem mit include

      hallo, Helmut,
      einfach - nicht db als Variablennamen zu nehmen sondern irgendwas anderes
      also meinetwegen dbf
      und dort wo deine Datenbankbefehle stehen machst du ein "db=$dbf" rein.
      hth
      Ruben

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Sonntag, 7.Dezember.2003, 23:24. WWW: www.meisl.info
    Re: Problem mit include

      Danke Rubens, aber, ich glaub ich mache noch einen Fehler und hab´mich verrant; ich bekomme trotzdem die Fehlermeldungen. So habe ich die betreffenden Befehle geschrieben:

      STAMMDATEI mit include (innerhalb einer Tabelle):

      </td><td width=190 valign=top bgcolor=#$com><font face=Arial size=2><b>TERMINE</b> der nächsten 7 Tage</b><br><include src=TERMIN_index $dbx=HALLEIN_TERMINE></td>
      


      INTEGRIERTE Datei mit der Ausgabe:

      <loop all db^=$dbx sort=Datum,Zeit Datum\>=jetzt&Datum\<+7 code=perl> 
         out "<font face=Arial size=2><b><br>$Datum</b></font><br><font face=Arial size=2>$Zeit Uhr: $Titel $Detailinfo ($Veranstalter)</font><br>";
      </loop>
      

      Irgendwo liegt da mein "Hund" begraben; wäre schön, wenn Du ihn finden könntest. Vielen Dank jedenfalls schon im Voraus!

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Sonntag, 7.Dezember.2003, 23:27. WWW: www.meisl.info
    Re: Problem mit include - Korrektur

      Ich hab mich vertippt; der Code heisst natürlich so wie unten, geht aber trotzdem nicht:

      STAMMDATEI mit include (innerhalb einer Tabelle):


      </td><td width=190 valign=top bgcolor=#$com><font face=Arial size=2><b>TERMINE</b> der nächsten 7 Tage</b><br><include src=TERMIN_index dbx=HALLEIN_TERMINE></td>
       
      

      INTEGRIERTE Datei mit der Ausgabe:


      <loop all db^=$dbx sort=Datum,Zeit Datum\>=jetzt&Datum\<+7 code=perl> 
      out "<font face=Arial size=2><b><br>$Datum</b></font><br><font face=Arial size=2>$Zeit Uhr: $Titel $Detailinfo ($Veranstalter)</font><br>";
      </loop>
      

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 8.Dezember.2003, 10:58.
    Re: Problem mit include - Korrektur

      mhm - ich seh nur das "all" hinter dem loop, was da nicht hingehört, weil ja loop "nur" die Datensätze durchläuft und keine Aktionen bzw. Aktionslinks automatisch aufbaut...
      Vielleicht wars das auch?
      hth
      Ruben

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Montag, 8.Dezember.2003, 13:34. WWW: www.salzburg.com/pfarre-hallein/
    Das war es leider auch nicht ...

      Die Anwendung funktioniert auch ohne dem "all" im "loop", aber sobald ich eines der Felder, das in der ersten Datenbank enthalten ist in der zweiten nicht habe, bekomme ich wieder diese Fehlermeldung:


      [ Fehler: sel: Feld (prioritaet) in /halleininfo.de/HALLEIN_TERMINE nicht vorhanden
      Ursache: Das Feld prioritaet wurde in der Datenbank nicht definiert. Vielleicht haben Sie sich bei der Abfrage auch nur verschrieben?

      Lösungen: 1. Korrigieren Sie Ihre Abfrage. 2. Gehen Sie in Ihren privaten Bereich (Anmelden), wählen Sie die entsprechende Datenbank aus, klicken Sie auf 'Felder' und fügen Sie das gewünschte Feld hinzu. ]

      ..... und dann geht es völlig richtig mit der Ausgabe der zweiten über include aufgerufenen Datenbank weiter .....


       Montag, 8.12.2003 
      
      10:00 Uhr: Fest mit Ehejubilaren des Jahres 2003 in der Stadtpfarrkirche, anschl. Umtrunk im Gruberhaus (Katholische Stadtpfarre Hallein)
       
      Dienstag, 9.12.2003
      15:00 Uhr: Adventlicher Seniorennachmittag (Evangelisches Pfarrzentrum)

      usw...

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 8.Dezember.2003, 18:12.
    Re: Das war es leider auch nicht ...

      mhm - also ich bin jetzt auch bisserl ratlos....
      Holst du Datensätze aus mehreren Datenbanken in dem Template?
      Wie lautet der andere Aufruf der DB ?
      Es hat eindeutig was damit zu tun, dass die falsche(n) Datenbank(en) angesprochen werden, und dann natürlich nicht vorhandene Felder zu der Fehlermeldung führen.
      Ich denke mal, da wird die DB-Var nicht richtig gesetzt. Versuchs noch mal ohne das

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 8.Dezember.2003, 18:16.
    sorry - heir gehts weiter -Re: Das war es leider auch nicht ...

      mhm - also ich bin jetzt auch bisserl ratlos....
      Holst du Datensätze aus mehreren Datenbanken in dem Template?
      Wie lautet der andere Aufruf der DB ?
      Es hat eindeutig was damit zu tun, dass die falsche(n) Datenbank(en) angesprochen werden, und dann natürlich nicht vorhandene Felder zu der Fehlermeldung führen.
      Ich denke mal, da wird die DB-Var nicht richtig gesetzt. Versuchs noch mal ohne das ^in der db-Zuweisung des loop - oder noch besser, wenn du das "includierte" Template nicht noch für andere Datenbanken nutzt schreib den Pfad mit Namen der Datenbank fix rein....
      hth
      Ruben

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Dienstag, 9.Dezember.2003, 00:01. WWW: www.salzburg.com/pfarre-hallein/
    ... Infos (vielleicht) zur Klärung meines Rätsels

      Vorerst ganz grossen Dank für die Geduld mit mir!

      Ich verwende insgesamt zwei Datenbanken:
      Nummer eins heisst INFO
      Nummer zwei heisst HALLEIN_TERMINE

      Beide Datenbanken sind in der Root abgespeichert.

      Das Template für die Gesamtausgabe arbeitet primär mit der INFO, im Template enthalten ist als Teil der Ausgabe ein weiteres Template, das mit include geholt wird und in diesem Template dann die Datenbank HALLEIN_TERMINE abfrägt.

      Nachstehend noch einmal der aktuelle Code (Ausschnitt) der Gesamtausgabe:

           <perl>
           $sta = $gruppenname;
           {
           get "sort=-onlinedatum,prioritaet","INFO";
           while (get_next("INFO"))
           {
           $beitragsdatum = datum($beitragsdatum, "Tag0./Monat0./Jahr");
           $beitragsdatum =~ s|\/||g;
      
           $titelb = convert_url($titel);           out "<table border=0 cellspacing=0 cellpadding=4<tr><td width=80 bgcolor=$coh valign=bottom align=center>";           out "<a href=http://halleininfo.de/baseportal/INFO_DETAIL&id=$_id&gruppenname==$gruppenname&ST=$statistik>";           out "<font face=Arial size=1>$beitragsdatum<img src=http://www.halleininfo.de/files/$bild100 border=0 width=75 alt=`$titel: Klicken für mehr Information`></td><td width=450 bgcolor=#$coh valign=top>";           out "<font face=Arial size=2><b>$bereichsname</br></font></b>";           out "<a href=http://halleininfo.de/baseportal/INFO_DETAIL&id=$_id&gruppenname==$gruppenname&ST=$statistik>";           out "<font face=Arial size=3 color=#330099><b><u>$titel</u></b></font>";           out "<font face=Arial size=2><br>$untertitel [mehr ...]</font></td>";           out "</table>";      out "<table border=0 cellspacing=0 cellpadding=3><tr><td width=430 height=2 bgcolor=$com>";      out "</td></tr></table>";      <<EOF;
      EOF
           }
           }
           </perl>
                     </td><td witdh=5 bgcolor=#$com></td>
                     </td><td width=190 valign=top bgcolor=#$com><font face=Arial size=2><b>TERMINE</b> der nächsten 7 Tage</b><br><include src=TERMIN_index></td></tr></table>
      


      Das dann aufgerufene Template TERMIN_index lautet komplett so:

      <table border="0">
      

      <loop db=/halleininfo.de/HALLEIN_TERMINE sort=Datum,Zeit Datum\>=jetzt&Datum\<+7 code=perl>
         out "<tr><td bgcolor=$cob><font face=Arial size=2><b>$Datum</font></b></td></tr><tr><td  bgcolor=$com><font face=Arial size=2><b>$Zeit Uhr:</b> $Titel $Detailinfo ($Veranstalter)</font><br></td></tr>";
      </loop>
      

      </tr></table>


      Ich habe auch schon versucht, die Datenbank absolut anzusprechen; die Syntax dürfte auch stimmen, daas Template möchte aber trotzdem noch immer hartnäckig auch jene Felder abfragen, die es in der HALLEIN_TERMINE gar nicht gibt.

      Also ich steh´ leider an mit meinem "Latein" und hoffe noch immer auf die Profis aus dem Forum!

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 9.Dezember.2003, 08:40.
    Re: ... Infos (vielleicht) zur Klärung meines Rätsels

      Hallo, Helmut,
      mhm, da würd ich ein paar Sachen anders machen:
      a) das Datum in $beitragsdatum, einfach gleich das richtige Format angeben und nicht zusätzlich über ne regex wandeln, in etwa so:
      $beitragsdatum = datum($beitragsdatum, "Tag0.Monat0.Jahr");
      b) die Blockklammern vor dem get und und nach dem EOF wegmachen
      c) das <<EOF und EOF ist hier vollkommen falsch, weg damit bzw. besser wäre es in den gesamten Ausgabeblock nach dem while get next und dann die vielen out weg, die kosten nur unnötig Serverzeit
      d) beim get einen Ergebnishash angeben
      
      Also das ganze in etwa so:
      <perl>
      $sta = $gruppenname;
           get "sort=-onlinedatum,prioritaet","INFO", "infos";
           while (get_next("infos")){
           $beitragsdatum = datum($beitragsdatum, "Tag0.Monat0.Jahr");
           $titelb = convert_url($titel);
           out<<EOF;
                <table border=0 cellspacing=0 cellpadding=4>
                 <tr>
                  <td width=80 bgcolor=$coh valign=bottom align=center>
                  <a href=http://halleininfo.de/baseportal/INFO_DETAIL&id=$_id&gruppenname==$gruppenname&ST=$statistik>
                  <font face=Arial size=1>$beitragsdatum
                  <img src=http://www.halleininfo.de/files/$bild100 border=0 width=75 alt='$titel: Klicken für mehr Information'>
                  </td>
                  <td width=450 bgcolor=#$coh valign=top>
                  <font face=Arial size=2><b>$bereichsname</br></font></b>
                  <a href=http://halleininfo.de/baseportal/INFO_DETAIL&id=$_id&gruppenname==$gruppenname&ST=$statistik>
                  <font face=Arial size=3 color=#330099><b><u>$titel</u></b></font>
                  <font face=Arial size=2><br>$untertitel [mehr ...]</font>
                  </td>
                 </tr>
                </table>
                <table border=0 cellspacing=0 cellpadding=3>
                 <tr><td width=430 height=2 bgcolor=$com></td></tr>
                </table>
      

      EOF
           } # E while get_next
      </perl>
      </td><td witdh=5 bgcolor=#$com></td>
      </td><td width=190 valign=top bgcolor=#$com><font face=Arial size=2><b>TERMINE</b> der nächsten 7 Tage</b><br>
      <include src=TERMIN_index>
      </td></tr>
      </table>
      
      ......

      Das dann aufgerufene Template TERMIN_index lautet komplett so:

      <table border="0">
      

      <loop db=HALLEIN_TERMINE sort=Datum,Zeit Datum\>=jetzt&Datum\<+7 code=perl>
      out<<EOF;
      <tr><td bgcolor=$cob><font face=Arial size=2><b>$Datum</font></b></td></tr>
      <tr><td bgcolor=$com><font face=Arial size=2><b>$Zeit Uhr:</b> $Titel $Detailinfo ($Veranstalter)</font><br></td></tr>
      EOF
      </loop>
      

      </tr></table>

      Ausserdem wäre es aber auch möglich, statt des loop auch hier das get zu nehmen, da sähe dann das Include-Template so aus:
      ----
      <perl>
      $tab_include = "<table border=0>";
      $vdat1 = datum("jetzt","intern"); $vdat2 = datum("jetzt+7","intern");
      get "Datum>=$vdat1 Datum<$vdat2 sort=Zeit", "HALLEIN_TERMINE", "akt_termine";
      while(get_next("akt_termine")){
      $tab_include .= <<EOF;
      <tr><td bgcolor=$cob><font face=Arial size=2><b>$Datum</font></b></td></tr>
      <tr><td bgcolor=$com><font face=Arial size=2><b>$Zeit Uhr:</b> $Titel $Detailinfo ($Veranstalter)</font><br></td></tr>
      EOF
      } # E while get_next
      $tab_include .= "</tr></table>";
      </perl>
      
      ----
      Das hat den Vorteil, dass du die gesamte HTML-Ausgabe (ist ja eine komplette HTML-Tabelle als "Legostein") in der Variable $tab_include stehen hast und die an jeder beliebigen Stelle einfach in den HTML-Text einsetzen kannst. Ausserdem kann man so das Include im Kopf des Hauptemplates einbauen - ist übersichtlicher und m.E. von der Logik her sinnvoller.
      hth
      Ruben

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Dienstag, 9.Dezember.2003, 22:15.
    ein ganz grosses DANKE!

      ... da brauch ich allerdings ein Wochenende, um all das "verdauen" und komplett umsetzen zu können. Ich meld´ mich dann, wenn ich das alles geschafft habe "notfalls" auch noch einmal mit einem DANKE!

     Antworten


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