Re: get Ausgabe 2-spaltig mit Sahnehäubchen - 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 Micha Jost (347 Beiträge) am Montag, 10.Juni.2002, 09:59.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo Christoph,

      ich habe noch ein bischen Probleme mit dem Hash-Einbau.
      Es gibt reichlich Fehlermeldungen.
      Könntest Du noch mal an den "Nahtstellen" schauen, wo der alte Code aufhören und dann wieder beginnen sollte.
      Danke Christoph.

      Gruß
      Micha


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Micha Jost (347 Beiträge) am Donnerstag, 6.Juni.2002, 10:05.
    get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo,

      ich hätte gerne ein 2-spaltige Ausgabe über get.
      Zu jeder Kategorie: Behörden, Nachbarschaft, Umwelt... sollen daunter immer 2-spaltig die Links aufgelistet werden.
      Das funktioniert mit dem nachfolgenden Code nur eingeschränkt.
      Die Gruppierung als erste Überschrift: Kategorie, dann die Links in 2 Reihen, dann die nächste Kategorie.... usw.
      Vielleicht habt Ihr da draussen an den Bildschirmen noch eine Eingebung.

      Danke
      Micha
      hier ein Blick auf die Baustelle
      http://rathaus-buerstadt.de/baseportal/Linkliste_Kopie

      Das ist der Code (hat Tina schon mitgeholfen)

      <html>
      <head><title>Linkliste Test</title>
      <include src=style></head>
      

      <body bgcolor="#ffffff">

      <div align="left">
      

      <table border="0" cellspacing="3" width="100%" cellpadding="2">

      <tr>
      

      <td width="50%" bgcolor="#ff9900"><font face="Verdana" size="2"><font color="#ffffff"><b>Rathaus-Bürstadt</b></font>-<b>Linkliste</b></font></td>

      <td width="50%" bgcolor="#ff9900">
      

      <p align="right"><font size="2" face="Verdana">
       
      <perl>
      

      out <<EOF;
      </font></td>
      

      </tr>

      <tr>
      <td width="50%"></td>
      <td width="50%"></td>
      </tr>
      </table>
      

      </div>


      <font face="Verdana" size="1">
      

      <table cellspacing="3" cellpadding="2"><tr>

      EOF
      $cnt=0; #Zähler Spalte 
      

       
      $v=$v||0; # Startwert vorgeben, wenn $v leer ist
      get "Id==* sort=Kategorie,Name range=$v,10",  "Linkliste"; # $v ist variabel 
      

      while(get_next("Linkliste"))

      {
      out "<br>$Kategorie" if $Kategorie ne $Kategorie_alt; 
      

      out "<td width='50%' bgcolor='F1F4F5'>

      <font color='000000' face='Verdana' size='2'>$Kategorie<br></font>
      

      <font face='Verdana' size='2'><b>$Name</b><br>
      <font face='verdana' arial size='2'><img src=\"http://www.rathaus-buerstadt.de/bilder/datenpunkt.gif\" width=\"12\" height=\"9\" align=\"absmiddle\"> Internet:<a href=http://$URL target=\"_blank\">$URL</a></font>";
      

      $Kategorie_alt=$Kategorie;

      if ($cnt==1) #Zähler Spalte 
      

      {

      out "</tr><tr>";
      

      $cnt=0;

      }else
      

      {

      $cnt++;
      

      }

      }
      out <<EOF;
      <td></td></tr></table>
      

      <br>

      <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber1">
      

      <tr>

      EOF
      

      my $range=$_range_length;
      my $blaettern=$_range_length;
      my $blaetter_lang=$range*10;
      my $newrange=$_range+$_range_length;
      my $oldrange=$_range-$_range_length;
      my $color='#CCCCCC';
      my $color_vonbis='#FFFFFF';
      my $color_zahl='#CCCCCC';
      my $color_vorzu='#CCCCCC';
      my $color_balken='#CCCCCC';
      my $table='';
      my $table_align='left';
      out "<div align=$table_align>";
      

      out "<table width=$table cellpadding=3 cellspacing=3 cellpadding=3><tr align=left><td bgcolor=$color align='center'><font face=verdana, arial font size=1>";

      $oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
      

      out $oldrange>=0?"<a href=\"$_link&v=0\">|<</a>":"|<";

      out "</font></td><td bgcolor=$color align='center'><font face=verdana, arial font size=1>";
      

      out $oldrange>=0?"<a href=\"$_link&v=$oldrange\"><</a>":"<<";

      out "</font></td><td bgcolor=$color align='center'><font face=verdana, arial font size=1>";
      $ende=substr($_amount_query,0,length($_amount_query)-1);
      

      out $newrange<$_amount_query?"<a href=\"$_link&v=$newrange\">></a>":">>";

      out "</td><td font face=verdana, arial font size=2 bgcolor=$color align='center'><font face=verdana, arial font size=1>";
      

      out $newrange<$_amount_query?"<a href=\"$_link&v=".($ende."0")."\">>|

      </a>":">|";
      

      out "</font></td><td bgcolor=$color_vonbis align='center'><font face=verdana, arial font size=1>Einträge ".($v+1)." bis

      ".(($v+$blaettern)>$_amount_query?"$_amount_query":($v+$blaettern))." von

      $_amount_query</td>";
      if ($_amount)
      

      {

      $vr=int($v/$blaetter_lang) unless $_range==0;
      

      $vr=$vr*$blaetter_lang;

      out "<td bgcolor=$color_vorzu align='center'><font face=verdana, arial font size=1><a href=$_link&v=".($vr-$blaetter_lang)."><<</a></td>" if
      



      ($vr-$blaetter_lang)>=0;

      for ($i=$vr;$i<($vr+$blaetter_lang<=$_amount_query?($vr+$blaetter_lang):$_amount_query); $i+=$blaettern)
      

      {
      out "<td bgcolor=$color_zahl align='center'><font face=verdana, arial font size=1>".($v==$i?"<b>".($i+1)."</b>":"<a
      

      href=$_link&v=$i>".($i+1)."</a>")."</td>";

      }
      

      out "<td bgcolor=$color_vorzu align='center'><font face=verdana, arial font size=1><a href=$_link&v=$i>>></a></td>" if $i<$_amount_query;

      }
      

      out "</font></tr></table></div>";

      </perl>
      

       

      </font>
      <include src=footer>
       
      </body></html>
      

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 7.Juni.2002, 15:53.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Ich bin mir nicht sicher, ob ich alles richtig verstanden habe, aber ich wenn Du das hinsichtlich der Kategorien gruppieren willst, musst Du die z.b. in einem Hash sammeln:

      get "Id==* sort=Kategorie,Name range=$v,10", "Linkliste"; # $v ist variabel 
      while(get_next("Linkliste"))
      {
        $namen{$Kategorie}.="$Name#";
        $links{$Kategorie}.="$Link#";
      }
      

      foreach $k (sort %Name}
      {
        @namen=split /#/,$namen{$k};
        @links=split /#/,$namen{$k};
      
        out "<p><b>Kategorie: $k</b><br>";   foreach $n (@namen)   {     $l=shift @links;     out "Name: $n - Link: $l<br>";   } }

      ja, so in etwa - ungefähr klar?

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Freitag, 7.Juni.2002, 18:29.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo Christoph,

      vielen Dank für den Tipp, im Moment sehe ich nur "hash-Wolken".
      Noch blicke ich nicht durch, was da für geheimnisvolle Vorgänge in dem Code ablaufen, aber man wächst ja an den Herausforderungen.



      Gruß
      Micha

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 8.Juni.2002, 01:39.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Jups, klar... Ich weiss noch wie komisch mir damals (kurz nach der ersten Eiszeit) die Hashes vorkamen - aber man muss sich einfach reinhängen und wenn mans n paar Mal gemacht hat isses totaaaal einfach ,-)

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Samstag, 8.Juni.2002, 08:55.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      hallo christoph,

      ich tue mich auch noch schwer mit den hashes, aber ich glaube, dass das schon ein mächtiges werkzeug ist.
      hast du mal nen tipp, wo das ordentlich (mit beispielen) beschrieben ist. o'reilly einführung in perl ist da nicht so ergiebig.

      gruss claus

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 8.Juni.2002, 21:59.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Mmhhh..... Mir fällt jetzt erstmal auch nichts ein, vielleicht weiss jemand anders was?

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Montag, 10.Juni.2002, 09:59.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo Christoph,

      ich habe noch ein bischen Probleme mit dem Hash-Einbau.
      Es gibt reichlich Fehlermeldungen.
      Könntest Du noch mal an den "Nahtstellen" schauen, wo der alte Code aufhören und dann wieder beginnen sollte.
      Danke Christoph.

      Gruß
      Micha

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 10.Juni.2002, 14:32.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Wie sieht denn der Code jetzt aus?

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Montag, 10.Juni.2002, 17:45.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo Christoph,

      im Moment sieht es so aus:
      http://rathaus-buerstadt.de/baseportal/Linkliste_Kopie_Kopie
      das ist der Code:

      <html><head><title>Linkliste Test</title>
      </head><body bgcolor="#ffffff">
      <include src=style>
       
      <html>
      


       

      <div align="left">
      

      <table border="0" cellspacing="3" width="100%" cellpadding="2">

      <tr>
      

      <td width="50%" bgcolor="#ff9900"><font face="Verdana" size="2"><font color="#ffffff"><b>Rathaus-Bürstadt</b></font>-<b>Linkliste</b></font></td>

      <td width="50%" bgcolor="#ff9900">
      

      <p align="right"><font size="2" face="Verdana">

       

      <perl>
      out <<EOF;
      

      </font></td>

      </tr>
      

      <tr>

      <td width="50%"></td>
      

      <td width="50%"></td>

      </tr>
      

      </table>

      </div>
      

       

      <font face="Verdana" size="1">
      

      <table cellspacing="3" cellpadding="2"><tr>

      EOF
      

       


       

      $v=$v||0; # Startwert vorgeben, wenn $v leer ist
      

       
      get "Id==* sort=Kategorie,Name range=$v,10", "Linkliste"; # $v ist variabel 
       
      while(get_next("Linkliste"))
      {
       
      $namen{$Kategorie}.="$Name#";
      $links{$Kategorie}.="$Link#";
      }
       
      

      foreach $k (sort %Name}


      {
       
      @namen=split /#/,$namen{$k};
      @links=split /#/,$namen{$k};
      
        out "<p><b>Kategorie: $k</b><br>";   foreach $n (@namen)   {     $l=shift @links;     out "Name: $n - Link: $l<br>";   } }  


       

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

      <br>

      <tr>
      

      EOF

       

       

      my $range=$_range_length;
      

      my $blaettern=$_range_length;

      my $blaetter_lang=$range*10;
      

      my $newrange=$_range+$_range_length;

      my $oldrange=$_range-$_range_length;
      

      my $color='#CCCCCC';

      my $color_vonbis='#FFFFFF';
      

      my $color_zahl='#CCCCCC';

      my $color_vorzu='#CCCCCC';
      

      my $color_balken='#CCCCCC';

      my $table='';
      

      my $table_align='left';




      out "<div align=$table_align>";
      

       

      out "<table width=$table cellpadding=3 cellspacing=3 cellpadding=3><tr align=left><td bgcolor=$color align='center'><font face=verdana, arial font size=1>";
      $oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
      out $oldrange>=0?"<a href=\"$_link&v=0\">|<</a>":"|<";
      

      out "</font></td><td bgcolor=$color align='center'><font face=verdana, arial font size=1>";

      out $oldrange>=0?"<a href=\"$_link&v=$oldrange\"><</a>":"<<";
      

      out "</font></td><td bgcolor=$color align='center'><font face=verdana, arial font size=1>";


      $ende=substr($_amount_query,0,length($_amount_query)-1);
      

      out $newrange<$_amount_query?"<a href=\"$_link&v=$newrange\">></a>":">>";

      out "</td><td font face=verdana, arial font size=2 bgcolor=$color align='center'><font face=verdana, arial font size=1>";
      

      out $newrange<$_amount_query?"<a href=\"$_link&v=".($ende."0")."\">>|

      </a>":">|";
      

      out "</font></td><td bgcolor=$color_vonbis align='center'><font face=verdana, arial font size=1>Einträge ".($v+1)." bis

      ".(($v+$blaettern)>$_amount_query?"$_amount_query":($v+$blaettern))." von

      $_amount_query</td>";
      if ($_amount)
      

      {


      $vr=int($v/$blaetter_lang) unless $_range==0;
      

      $vr=$vr*$blaetter_lang;

      out "<td bgcolor=$color_vorzu align='center'><font face=verdana, arial font size=1><a href=$_link&v=".($vr-$blaetter_lang)."><<</a></td>" if
      



      ($vr-$blaetter_lang)>=0;

      for ($i=$vr;$i<($vr+$blaetter_lang<=$_amount_query?($vr+$blaetter_lang):$_amount_query); $i+=$blaettern)
      


       

      {
      

      out "<td bgcolor=$color_zahl align='center'><font face=verdana, arial font size=1>".($v==$i?"<b>".($i+1)."</b>":"<a

      href=$_link&v=$i>".($i+1)."</a>")."</td>";

      }
      

      out "<td bgcolor=$color_vorzu align='center'><font face=verdana, arial font size=1><a href=$_link&v=$i>>></a></td>" if $i<$_amount_query;

      }
      

      out "</font></tr></table></div>";

      </perl>
      

       


      </font>
      <include src=footer>
       
      </body></html>
      

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 10.Juni.2002, 19:51.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Der obere Teil (um den es geht) hätte gereicht ;-)

      Sieht doch gut aus ;-) Hab jetzt nur 2 Fehler in derselben Zeile entdeckt:

      foreach $k (sort %Name}
      

      muss heissen

      foreach $k (sort %namen)
      

      also "%namen" statt "%Name" und achtung!!! das letzte Zeichen muss eine ) sein, keine geschweifte }

      ;-)

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Dienstag, 11.Juni.2002, 08:36.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo Christoph,

      Danke für Deine Bemühungen. Zuerst die gute Nachricht, es gibt keine Fehlermeldungen mehr.
      Aber von 2 spaltiger Ausgabe kann noch nicht die Rede sein.
      Vielleicht fällt Dir noch was ein.

      Gruß
      Micha

      hier die Baustelle
      http://rathaus-buerstadt.de/baseportal/Linkliste_Kopie_Kopie

      Das ist der Code
      <font face="Verdana" size="1">
      

      <table cellspacing="3" cellpadding="2"><tr>

      EOF
      

       



       

      $v=$v||0; # Startwert vorgeben, wenn $v leer ist
      

       

      get "Id==* sort=Kategorie,Name range=$v,10", "Linkliste"; # $v ist variabel 
       
      while(get_next("Linkliste"))
      {
       
      $namen{$Kategorie}.="$Name#";
      $links{$Kategorie}.="$Link#";
      }
       
      

      foreach $k (sort %namen)


      {
       
      @namen=split /#/,$namen{$k};
      @links=split /#/,$namen{$k};
      
        out "<p><b>Kategorie: $k</b><br>";   foreach $n (@namen)   {     $l=shift @links;     out "Name: $n - Link: $l<br>";   } }  


       

      out <<EOF;
      

       

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

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 11.Juni.2002, 11:18.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo, Micha
      mit den Hashs das ist mir im Moment etwas hoch, aber ich hab da mal den Code für eine zweispaltige Ausgabe, funzt sowohl mit get-get_next als auch loop code perl.
      Mache das mit paar Hilfszählern und dazugehöriger Ganzzahldivision um die ungeradzahligen Datensätze links und die geradzahligen rechts jeweils in eine eigene Tabelle zu schreiben.
      Die zwei Tabellen sind dann wieder in ner "Rahmentabelle" drin.
      Je nach Anzeigebereich werden dann die Navigationslinks noch generiert.
      Ich denke, du kannst das irgendwie für deine Zwecke anpassen.

      Die URL ist hier: http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/hempelr/andachten/archiv

      Hoffe, du kannst das irgendwie umstricken, so daß es dir was nützt.
      Gruß
      Ruben
      ---------------------------------
      Hier der Code der ganzen Seite:
      ---------------------------------

      <perl>
      # Seiten-Farbstiel gr&uuml;n oder violett (sp&auml;ter mehr)#
      $s=g; #g f&uuml;r gr&uuml;n, #v f&uuml;r violett
      $fvh = "bgcolor=ffccff"; # Farbe_Violett_hell
      $fvd = "bgcolor=800080"; # Farbe_Violett_dunkel
      $fvw = "bgcolor=ffffff"; # Farbe_wei&szlig;
      $fgnh = "bgcolor=ccff99"; # Farbe_Hellgruen
      $fgnd = "bgcolor=009900"; # Farbe_Dunkelgr&uuml;n
      $fgh  = "bgcolor=ffffef"; # Farbe_hellgelb
      

      $for = "bgcolor=ff3300"; # Farbe orange

      # Trennzeilen f&uuml;r Ausgabe gleich in Vars speichern, damit code &uuml;berschaubear bleibt #
      $pix="http://www.kirchen-im-erzgebirge.de/vk_pic/cpix1.gif";
      

      $tz1h = "<tr><td id=dgr colspan=2 $fgh><img height=1 src=$pix></td></tr>";
      $tz5h = "<tr><td id=hgr colspan=2 $fgh><img height=5 src=$pix></td></tr>";
      $tz1d = "<tr><td id=dgr colspan=2 $fgnd><img height=1 src=$pix></td></tr>";
      $tz5d = "<tr><td id=hgr colspan=2 $fgnd><img height=5 src=$pix></td></tr>";
      $tz1m = "<tr><td id=dgr colspan=2 $fgnh><img height=1 src=$pix></td></tr>";
      $tz5m = "<tr><td id=hgr colspan=2 $fgnh><img height=5 src=$pix></td></tr>";
      # ----------------------------------------------------------------------#
      # Vorbelegung der Variablen die uebergeben werden
      # um Fehlfunktion vorzubeugen
      $a_offset = 1; # (Ausgabeoffset für Abzug)
      #-- Range-Start --#
      $ra = 0 + $a_offset if ($ra < $a_offset);
      #-- Range L&auml;nge --#
      $ra_l = 10 if $ra_l eq "";
      

      ########################################################
      # <!-- Datenbank abrufen um bp-Spezialvariablen mit den richtigen Werten zu füllen -->
      init andacht;
      

      ########################################################
      # Hilfsvariablen fuer Ausgabe des Anzeigebereiches #
      $anz_anz=$_amount_all-$a_offset;
      $anza = $ra-$a_offset + 1 if $ra <= $a_offset; #Anzeige Anzahl Anfang
      $anza = $ra if $ra > $a_offset;
      

      $anze = $ra + $ra_l - $a_offset if $ra+$ra_l <= $_amount_all+$a_offset; # Anzeige Anzahl Ende
      $anze = $_amount_all - $a_offset if $ra+$ra_l > $_amount_all - $a_offset;
      $anz_ds = $_amount_all - $a_offset;
      

      #--Hilfsvariablen fuer zweispaltige Ausgabe der Uebersicht --#
      #-- Zaehler fuer Ausgabespalte 1 links--#
      $lcnt = 0;
      

      #-- Zaehler fuer Ausgabespalte 2 rechts--#
      $rcnt = 0;
      

      #############################################################################
      #### und hier jetzt losmachen mit Daten holen und Ausgabevars generieren ####
      #############################################################################
      

      get "sort=-Eig_Datum range=$ra,$ra_l", "andacht";
      while(get_next("andacht"))
      {
      ##### Ausgabe der linken Spalte in Var a_linhalt (Tabellenzeilen) #####
             $inf = $lcnt % 2;
             if ($inf eq  0)
             {$a_linhalt.=<<EOF;
             <tr><td valign=top>
             <p class=klein><a href=http://baseportal.de/cgi-bin/baseportal.pl?htx=/hempelr/andachten/andacht&id=$_id&ra=$_range&ra_l=$_range_length>$Sonntag_im_KJ</b></a></td></tr>
      EOF
              $a_linhalt.="<tr><td><p class=klein><span class=gruen><b><i>$Andacht_Thema</i></b></span></p></td></tr>" if $Andacht_Thema ne "";
             $a_linhalt.="<tr><td><p class=klein><span class=gruen>$Andacht_Bibelstelle</span></p></td></tr>" if $Andacht_Bibelstelle ne "";
             $a_linhalt.="<tr><td><p class=klein><span class=gruen>".$Andacht_Intro."</span></p></td></tr>" if $Andacht_Intro ne "";
             $a_linhalt.="<tr><td><p class=klein><span class=gruen>".$Andacht_von. $Name."</span></p></td></tr>" if $Andacht_von ne "";
             $a_linhalt.= "<tr><td id=hgr $fgh><img height=5 src=$pix></td></tr>";
             }
             $lcnt++;
      #### Ausgabe der rechten Spalte in Var a_rinhalt (Tabellenzeilen)####
             $inf2 = $rcnt % 2;
             if ($inf2 eq  1)
             {$a_rinhalt.=<<EOF;
             <tr><td valign=top>
             <p class=klein><a href=http://baseportal.de/cgi-bin/baseportal.pl?htx=/hempelr/andachten/andacht&id=$_id&ra=$_range&ra_l=$_range_length>$Sonntag_im_KJ</b></a></td></tr>
      EOF
             $a_rinhalt.="<tr><td><p class=klein><span class=gruen><b><i>$Andacht_Thema</i></b></span></p></td></tr>" if $Andacht_Thema ne "";
             $a_rinhalt.="<tr><td><p class=klein><span class=gruen>$Andacht_Bibelstelle</span></p></td></tr>" if $Andacht_Bibelstelle ne "";
             $a_rinhalt.="<tr><td><p class=klein><span class=gruen>$Andacht_Intro</span></p></td></tr>" if $Andacht_Intro ne "";
             $a_rinhalt.="<tr><td><p class=klein><span class=gruen>$Andacht_von $Name</span></p></td></tr>" if $Andacht_von ne "";
             $a_rinhalt.="<tr><td id=hgr $fgh><img height=5 src=$pix></td></tr>";
             }
             $rcnt++;
      

      }
      ##### Hier beginnt die Ausgabe der HTML-Seite #####
      out<<EOF;
      <html><head>
      <title>baseportal Datenbank (/test/html_anzeige)</title>
      EOF
      </perl>
      <include src=/hempelr/viskart/styles>
      <perl>
      out<<EOF;
      </head>
      <body bgcolor=ffffef topmargin=0 leftmargin=0>
      

      <table width=530 border=0 cellpadding=0 cellspacing=0>
        $tz5h
        <TR>
           <TD valign=middle align=right  $fgh colspan=2><p class=orange><p class="gross"><span class=orange><i>Archiv Hingeh&ouml;rt</i> - <b>Andachten im Lauf des Kirchenjahres</b></span></p>
           </TD>
         </tr>
         $tz5h
          <TR>
              <TD align="right" $fgh colspan=2><p class=klein><span class=orange>Insgesamt $anz_ds Beitr&auml;ge im Archiv vorhanden&nbsp;&nbsp;</span></p></b>
              </TD>
          </tr>
          $tz5h
          <tr>
             <td colspan=2 $fgh align=right valign=middle><p class=klein><p class=klein><span class=orange><b>Beitrag $anza bis $anze&nbsp;&nbsp;&nbsp;</b></span></p>
             </td>
          </tr>
          $tz5h
          <tr>
          <td colspan=2 align=center>
            <table width=90% cellspacing=0 cellpadding=0>
             <tr>
             <td width=50% align=center valign=top>
               <table  border=0 width=95% align=center cellpadding=0 cellspacing=0>
               $a_linhalt
               </table>
             </td>
            <td align=center valign=top width=50%>
              <table align=center  border=0 width=95% cellpadding=0 cellspacing=0>
              $a_rinhalt
              </table>
            </td>
            </tr>
            $tz5h
            $tz1d
            <tr>
              <td $fgh colspan=2 align=center>
      EOF
      

      # Navigations-Ausgabevariablen berechnen und belegen #

      my $newrange=$_range+$_range_length;
      my $oldrange=$_range-$_range_length;
      $oldrange=$a_offset if $oldrange<$a_offset && $oldrange>-$_range_length+$a_offset;
      

      out "<span class=klein>[ <a href=\"$_link&range=$a_offset,$_range_length&ra=$a_offset&ra_l=$_range_length\">Anfang</a> der Liste ] </font></span>" if $oldrange>=$a_offset;

      out "<span class=klein>[ <a href=\"$_link&range=$oldrange,$_range_length&ra=$oldrange&ra_l=$_range_length\">Zur&uuml;ck</a> ] </font></span>" if $oldrange>=$a_offset;
      

      out "<span class=klein>[ <a href=\"$_link&range=$newrange,$_range_length&ra=$newrange&ra_l=$_range_length\">Mehr</a> ] </font></span>" if $newrange<=$anz_anz;

      out<<EOF;
               </td></tr>
               $tz1h
               <tr>
               <td align=center colspan=2 $fgh><p class=klein>[ <a href="http://baseportal.de/cgi-bin/baseportal.pl?htx=/hempelr/andachten/andacht">aktuelle Andacht</a> ]&nbsp;&nbsp;&nbsp;[ <a href="http://baseportal.de/cgi-bin/baseportal.pl?htx=/hempelr/verans_kirch/vkirch_nutz&ra=$_range&ra_l=$_range_length&fa=$fa&flk=$flk">Nutzerbereich</a> ]</p></td></tr>
               $tz1d
               $tz5h
               </table>
      </table>
      </body></html>
      EOF
      </perl>
      
      ----------------------------------------------------

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Dienstag, 11.Juni.2002, 13:43.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo Ruben,

      Danke für Deine Hilfe.
      Ich fürchte, der Code past nicht ganz für meine Zwecke (zumindest soweit meine bescheidenen Kenntnisse das erfassen), da vor der 2-spaltigen Ausgabe jeweils noch immer einspaltig nach einer Kategorie gruppiert werden soll.
      Eigentlich fing alles so harmlos an...
      Bei der Gelegenheit, Du bastelst ja ganz famose Dinge für Deine Kirchengemeinde(n)

      Gruß
      Micha

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 11.Juni.2002, 14:28.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Dann hab ich nich ganz verstanden, was Du genau machen willst... ;-)

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Dienstag, 11.Juni.2002, 15:03.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo Christoph,
      jetzt kommen wir ein bischen durcheinander.
      Das letzte Posting bezog sich auch Rubens Hilfeangebot.
      Ich glaube schon, dass Du mich verstanden hast, aber das Ergebnis ist noch nicht doppelspaltig.

      Ich versuchs trotzdem nochmal, mit dem nachfolgenden Schema des geünschten Ergebnisses:

      Behörden (Kategorie)
      Behörde 1_____________Behörde2
      WWW.xx.de___________www.yy.de

      Behörde 3____________Behörde4
      www.zze.de___________www.ddd.de

      Umwelt (Kategorie)
      Bundesanstalt xx_____Umweltbundesamt
      www.qqq.de___________www.uba.de

      NABU_________________GREENPEACE
      www.dsds.de__________www.green.de

      usw.
      Immer erst die Kategorie, dann Name und url 2-spaltig, dann wieder eine Kategorie....

      War das deutlich??

      Gruß
      Micha

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 11.Juni.2002, 16:31.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Achso, nein, dann hab ich Dich doch von Anfang an richtig verstanden ;-) Ich hab nur Deinen Beitrag bei den "ersten 10 Einträgen" gelesen und dachte der bezog sich auf mein letztes Posting...

      Ja, der Code den ich ursprünglich gepostet habe macht ja nix zweispaltig, das wollte ich Dir überlassen, ist auch nicht sonderlich schwer (musst ja nur noch Tabellentags drumrum machen)... Mir gings um den (schwierigen) Teil der Gruppierung der Kategorien... ;-)

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 12.Juni.2002, 09:14.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo, Micha,
      das Problem hat mich nicht losgelassen, ich hatte es irgendwie schon richtig verstanden.
      Nun hab ich mal ne Lösung gebaut, die zwar nicht ganz sauber ist (Durchläufe von get get_next in foreach), aber es kommt das gewünschte Ergebnis raus, gruppierte Anzeige nach einer Kategorie und dann dazugehörige Datensätze zweispaltig ausgegeben.
      Hab das mal an einer meiner DB's gemacht, hier der Link: http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/hempelr/test/viskart
      und hier der Code (ohne Einschränkung der AUsgabe-Range)
      -----schnipp----
      <perl>
      get "sort=$ort", "viskart";
      while(get_next("viskart"))
      {
       push @ArrOrt, $ort if index("@ArrOrt", "$ort")<0;
      }
      out @ArrOrt;
      foreach $l_ort (@ArrOrt)
      {
          get "ort==$l_ort", "viskart";
          while(get_next("viskart"))
          {$cnt_ort++;
          $inf = $lcnt % 2;
             if ($inf eq 0)
             {
             $a_linhalt.="<tr valign=top><td>Bezeichnung: $bezeichnun<br>Name: $name</td></tr>";
             }
          $lcnt++;
          $inf2 = $rcnt % 2;
             if ($inf2 eq 1)
             {
             $a_rinhalt.="<tr valign=top><td>Bezeichnung: $bezeichnun<br>Name: $name</td></tr>";
             }
          $rcnt++;
         }
      out  "<table border=1 width=800><tr><td colspan=2 align=center><p><b>Ort: $l_ort im Landkreis $landkreis</b></td></tr>";
      

      out "<tr valign=top><td align=center><table border=1 width=90%>$a_linhalt</table></td><td align=center><table border=1 width=90%>$a_rinhalt</table></td></tr><tr><td colspan=2 align=center>Insgesamt $cnt_ort Gemeinden gefunden</td></tr></table>";
      $a_linhalt="";
      $a_rinhalt="";
      $cnt_ort="0";
      $lcnt=0;
      $rcnt=0;
      }
      </perl>
      
      ----schnapp----
      Komisch ist nur, daß er zu Feldinhalten mit Leerzeichen nichts findet, obwohl was drin steht. Bin nicht dahinter gekommen, wie man im get mittels "feld==$Inhalt" auch die Datensätze angezeigt bekommt, wo in $Inhalt Leerzeichen im Scalar stehen - vielleicht mal ne Frage an die Profis

      Gruß
      Ruben

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Mittwoch, 12.Juni.2002, 14:27.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo Ruben,

      es ist wirklich toll wie viele Leute sich hier die Birne zermartern, um dieses Problem zu lösen.

      Was Deinen Link/Code angeht konnte ich eine Gruppierung entdecken, aber noch keine 2-spaltige Darstellung, ich habe den Eindruck da wird auch noch kräftig gebastelt-zumindet verändert sich das Bild bei jedem Aufruf.

      Ich hoffe nur, dass wenn das Problem mal gelöst ist, das für die Nachwelt in der bib zu finden sein wird.

      Beste Grüße nach Thüringen

      Micha

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 12.Juni.2002, 15:09.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      So, ich glaub jetzt hab ichs.
      Hab den Code von Christoph mal umgebaut, ich glaub der Fehler lag an nem kleinen Schlüsselwort, und zwar bei der Anweisung "foreach $k (sort %Name}", habs mittels
      "foreach $k (sort keys %Name}" zu ner sinnvollen Ausgabe gebracht.
      Hier der Link: http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/hempelr/test/viskart
      hier der Code:
      -----schnipp----
      <perl>
      get "sort=$ort", "viskart";
      while(get_next("viskart"))
       {
              $h_bezeich{$ort}.="$bezeichnun#";
              $h_name{$ort}.="$name#";
       }
      foreach $k (sort (keys %h_bezeich))
       {
              @a_bezeich=split /#/,$h_bezeich{$k};
              @a_name=split /#/,$h_name{$k};
                $l_ort=$k;
                foreach $n (@a_bezeich)
                {
                  $cnt_ort++;
                  $l=shift @a_name;
                     $inf = $lcnt % 2;
                     if ($inf eq 0)
                     {
                     $a_linhalt.="<tr valign=top><td>Bezeichnung: $n<br>Name: $l</td></tr>";
                     }
                  $lcnt++;
                  $inf2 = $rcnt % 2;
                     if ($inf2 eq 1)
                     {
                     $a_rinhalt.="<tr valign=top><td>Bezeichnung: $n<br>Name: $l</td></tr>";
                     }
                  $rcnt++;
                }
      $cnt_ges=$cnt_ges+$cnt_ort;
      out  "<br><table border=1 width=800><tr><td colspan=2 align=center><p><b>Ort: $l_ort </b></td></tr>";
      

      out "<tr valign=top><td align=center><table border=0 width=90%>$a_linhalt</table></td><td align=center><table border=0 width=90%>$a_rinhalt</table></td></tr><tr><td colspan=2 align=center>Insgesamt $cnt_ort Gemeinden im Ort $k gefunden</td></tr></table>";
      $a_linhalt="";
      $a_rinhalt="";
      $cnt_ort="0";
      $lcnt=0;
      $rcnt=0;
      }
      out "Insgesamt wurden $cnt_ges Datensätze gefunden";
      </perl>
      
      ----schnapp----
      Ist allerdings noch ohne range, sollte aber ja kein Problem mehr sein.
      Mußt "schweinisch" aufpassen, mit den Variablenbezeichnungen, hab mal alle auf nen Hash verweisenden mit $h_.... bennannt, alle auf ne Liste verweisenden mit $a_....
      Hoffe, daß du durchsteigst und es jetzt hinkriegst.
      Ich hab das eh auch eben gebraucht, und mit nur einem Durchlauf durch die DB ist schon sauberer als meine erste Lösung.
      Gruß
      Ruben

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Mittwoch, 12.Juni.2002, 15:33.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Hallo Ruben,

      das sieht ja spitze aus.
      Ich hoffe ich kann das für meine Variablen ohne allzugroße Reibungs- und Nervenverluste übertragen.
      Das ist doch ein klarer Fall für die Bib-oder?
      Eindeutiger Länderpunkt für Thüringen!

      Gruß
      Micha

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 12.Juni.2002, 15:36.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      neenee, Sachsen, genauer Erzgebirge.
      Ja, mal sehn, wie man das für die Bib aufbereitet bekommt, hab noch einige Verständnisschwierigkeiten mit paar Sachen, muß erst mal noch in der Literatur suchen....
      CU
      Ruben

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 12.Juni.2002, 16:03.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      jaja, aus Sachsen kommen doch nur _die_besten_!!! *ggg*

      Grüsse

      Sander

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Mittwoch, 12.Juni.2002, 17:02.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      Sorry Ruben,

      für den geographischen faux pas. Ich hoffe der Fettnapf war nicht allzu tief.
      Auf jedenfall weiss ich nun noch einen guten Grund warum ich Kirchesteuer zahle.
      Aber da gibt´s noch ein bischen Feinschliff.
      Zunächst, es klappt mit Deinem Code, hüpf, tänzel ..
      Frage 1 : da kommt auch ein Feld URL vor, das sollte bei der Ausgabe auch aktiv sein (anklickbar), wie bekommt man das hin?
      Frage 2: die Spaltenbreite variiert, kann man das irgendwie noch steuern?
      Ansonsten...
      Ein Riesendankeschööööön ins Erzgebirge.

      Gruß
      Micha

      http://rathaus-buerstadt.de/baseportal/Linkliste_Kopie


      get "Id==* sort=Kategorie,Name", "Linkliste"; 
       
      while(get_next("Linkliste"))
      

      {
       
      $h_namen{$Kategorie}.="$Name#";
      $h_links{$Kategorie}.="$URL#";
      }
       
      foreach $k(sort(keys %h_namen))
      

      {
       
      @a_namen=split /#/,$h_namen{$k};
      @a_links=split /#/,$h_links{$k};
      $l_Kategorie=$k;
        
        foreach $n (@a_namen)
        {
          $cnt_Kategorie++;
      $l=shift@a_links;
      $inf=$lcnt%2;
      if($inf eq 0)
      {
      $a_linhalt.="<tr valign=top><td>Bezeichnung: $n<br>Name: $l</td></tr>";
      }
      $lcnt++;
      $inf2=$rcnt%2;
      if ($inf2 eq 1)
      {
      $a_rinhalt.="<tr valign=top><td>Bezeichnung: $n<br>Name: $l</td></tr>";
      }
      $rcnt++;
      }
      $cnt_ges=$cnt_ges+$cnt_Kategorie;
      out "<br><table border=0 width=80% font=Verdana, Arial, Helvetica size=1><tr><td colspan=2 align=left><p><b>Kategorie: $l_Kategorie </b></td></tr>";
      out "<tr valign=top><td align=center><table border=0 width=90%>$a_linhalt</table></td><td align=center><table border=0 width=90%>$a_rinhalt</table></td></tr><tr><td colspan=2 align=left>Insgesamt $cnt_Kategorie Links in der Kategorie $k vorhanden</td></tr></table>";
      $a_linhalt="";
      $a_rinhalt="";
      $cnt_Kategorie="0";
      $lcnt=0;
      $rcnt=0;
      }
      out "Insgesamt wurden $cnt_ges Datensätze gefunden";
      

      </perl>

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 12.Juni.2002, 19:59.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      geographischer faux pas kein prob :-)
      Links funzen ja schon, wie man sehen kann.
      Mit den Spaltenbreiten am besten mit den Ausgabetabellen, evtl. auf feste Breite setzen (die Haupttabelle die bei dir mit 80% angegeben ist). Und dann die Ausgabetabellenzelle, in die die die linke bzw. rechte Tabelle kommt mal linksbündig ausrichten(Die <td>'s in der vorletzten Ausgabe (Zeile vor der Variablenrücksetzung).
      Sieht gut aus, wie das gesamte Bisy - Klasse Anwendung.
      Na dann, man sieht sich sicher hier wieder
      Ruben

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 12.Juni.2002, 17:42.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      > Eindeutiger Länderpunkt für Thüringen!
      

      Moooment, das war gute berlinerische-sächsische Teamarbeit! ;-))

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 12.Juni.2002, 19:48.
    Re: get Ausgabe 2-spaltig mit Sahnehäubchen

      stimmt - nur im team ist man stark!!!
      hat wieder mal was gebracht..... :-)

     Antworten


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