Re: Blätterfunktion - 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 Sonntag, 24.Februar.2002, 21:35.
    Re: Blätterfunktion

      Tja, das Ganze liegt daran, dass ich noch zuwenig Datensätze in der Datenbank habe... Deshalb funktioniert die Variable $ende noch nicht.

      Ich benötige dafür mindestens 10 DS...

      Oliver ;-)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Oliver ;-) (500 Beiträge) am Samstag, 23.Februar.2002, 22:03.
    Blätterfunktion

      Hallo Zusammen,

      ich lasse den Inhalt einer DB über eine Suchfunktion für einzelne Felder mittels PullDown-Menüs ausgeben - also nicht über die Volltextsuche. Dabei können auch mehrere Felder kombiniert werden. Das funktioniert auch soweit.

      Nun möchte ich gerne die Blätterfunktion aus der Bib verwenden. Leider ist mir nicht klar, wie ich das Suchergebnis mit durchschleife. Hier habe ich ja mehrere Variablen, die angesprochen werden können...

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Stefan Krupop (311 Beiträge) am Samstag, 23.Februar.2002, 22:29.
    Re: Blätterfunktion

      Hi!

      Wenn du die Vorlage von Tina&Sander meinst, musst du alle zu übergebenden Variablen (ich glaube bei dir Geschlecht und FamStand) in alle Links hinter $_link einbauen. Also z.B. aus
      <a href=\"$_link&range=
      
      wird
      <a href=\"$_link&Geschlecht=$Geschlecht&FamStand=$FamStand&range=
      Du könntest aber auch eine Variable definieren und die statt $_link benutzen:
      $link="$_link&Geschlecht=$Geschlecht&FamStand=$FamStand";
      
      und dann
      <a href=\"$link&range=

      Stefan

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Samstag, 23.Februar.2002, 23:10.
    Re: Blätterfunktion

      Hallo Stefan,

      danke für deinen Tipp. So ähnlich hatte ich mir das schon gedacht. Ich hatte nur gehofft, es würde noch eine elegantere Lösung finden, da ich so insgesamt 15 Variablen in der Url habe...

      So scheint es aber zu funktionieren. Nur kann ich es nicht testen, weil das Blättern nicht richtig funktioniert. Wenn ich mir den nächsten Satz anzeigen lassen will, wird mir aber nur der Erste angezeigt.

      Was muss ich denn da noch beachten?

      Oliver ;-)

     Antworten

    Beitrag von Stefan Krupop (311 Beiträge) am Samstag, 23.Februar.2002, 23:19.
    Re: Blätterfunktion

      Hi!

      Bei 15 Variablen würd ich auf alle Fälle die 2. Möglichkeit nehmen ;)
      Eleganter ginge es dann nur noch mit nem Perl-Script, dass aus einer Liste von Variablennamen (test1,test2,abc) den richtigen link bastelt ($_link&test1=$test&test2=$test2&abc=$abc), aber da sich die Variablennamen ja nicht dauernd ändern dürfte das zuviel des Guten sein...
      Zum Blätterproblem wär' ne Test-URL nicht schlecht, so könnte es ne fehlerhafte Suche (liefert nur einen Treffer) oder ein Problem mit dem Range sein.

      Stefan

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Samstag, 23.Februar.2002, 23:35.
    Re: Blätterfunktion

      Die Suchfunktion ist ok - zumindest funktionierte sie korrekt ohne die Blätterfunktion.

      Ich denke, es könnte am range liegen. Ich weiß nur nicht, wo ich da anfangen soll...

      Dies ist der Perl-Code

      <perl>
      

      if ($cmd eq "search")
      {
      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='450';
      my $table_align='left';
      my $link="$_link&FamStand=$FamStand&Gesch=$Gesch&Altab=$Altab&Altbis=$Altbis&Kind=$Kind&Grossab=$Grossab&Grossbis=$Grossbis&PLZab=$PLZab&PLZbis=$PLZbis&Land=$Land&Partner=$Partner&Reise=$Reise&Freunde=$Freunde&SHG=$SHG&cmd=search";
      

      get "FamStand~=$FamStand Geschlecht~=$Gesch Alter>=$Altab Alter<=$Altbis Kinder$Kind Groesse>=$Grossab Groesse<=$Grossbis PLZ~>=$PLZab PLZ~<=$PLZbis Land==$Land Partner==$Partner Reise==$Reise Freunde==$Freunde SHG==$SHG range=$v,2","db";

      out "<div align=$table_align>";
      

      out "<table width=$table cellpadding=2 cellspacing=2><tr align=left><td bgcolor=$color align='center'>";


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

      out $oldrange>=0?"<a href=\"$link&range=0,$_range_length\">|<</a>":"|<";
      out "</td><td bgcolor=$color align='center'>";
      

      out $oldrange>=0?"<a href=\"$link&range=$oldrange,$_range_length\"><</a>":"<<";
      out "</td><td bgcolor=$color align='center'>";
      

      $ende=substr($_amount_query,0,length($_amount_query)-1);
      out $newrange<$_amount_query?"<a href=\"$link&range=$newrange,$_range_length\">></a>":">>";
      out "</td><td bgcolor=$color align='center'>";
      

      out $newrange<$_amount_query?"<a href=\"$link&range=".($ende."0").",$_range_length\">>| </a>":">|";
      out "</td><td bgcolor=$color_vonbis width='200' align='center'>Einträge ".($_range+1)." bis ".(($_range+$blaettern)>$_amount_query?"$_amount_query":($_range+$blaettern))." von $_amount_query</td>";
       
      if ($_amount)
      {
               $vr=int($_range/$blaetter_lang) unless $_range==0;
               $vr=$vr*$blaetter_lang;
               out "<td bgcolor=$color_vorzu align='center'><a href=$link&range=".($vr-$blaetter_lang).",$_range_length\><<</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'>".($_range==$i?"<b>".($i+1)."</b>":"<a href=$link&range=$i,$_range_length>".($i+1)."</a>")."</td>";
               }
               out "<td bgcolor=$color_vorzu align='center'><a href=$link&range=$i,$_range_length>>></a></td>" if $i<$_amount_query;
           }
            out "</tr></table></div>";
      

      out <<EOF;

      <div align=$table_align>
        <table border="0" cellpadding="0" cellspacing="0" width=$table>
          <tr>
            <td width="0"><img border='0' src='http://www.URL.de/test/spacer.gif' width='2' height='2'></td>
            <td bgcolor="#C0C0C0" width="100%"><img border='0' src='http://www.URL.de/test/spacer.gif' width='2' height='2'></td>
             <td width="0"><img border='0' src='http://www.URL.de/test/spacer.gif' width='2' height='2'></td>
          </tr>
        </table>
      </div>
      

      EOF


      if ($_amount_query == 0)
      {
      out "<br><span class='text'>Leider kein Eintrag zu den gewählten Kriterien !</span>";
      }
      while (get_next("db"))
      {
      out <<EOF;
      

      ...

      EOF
      }
      }else
      {
      

      ...

      }
      

      </perl>

      Oliver ;-)

     Antworten

    Beitrag von Stefan Krupop (311 Beiträge) am Sonntag, 24.Februar.2002, 13:57.
    Re: Blätterfunktion

      Hi!

      Dre Code sieht so weit richtig aus... Wie schaut denn der Wert von range in der URL nach dem Blättern aus? Und wenn du an die URL nach dem Suchen, aber vor dem Blättern ein "&range=0,10" anhängst und dann blätterst?
      Ansonsten wäre ne Test-URL gut.

      Stefan

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 24.Februar.2002, 15:27.
    Re: Blätterfunktion

      hi oliver,

      wenn du mit get, get_next arbeitest, funzt das range im link nicht. Deshalb hab ich die Variable $v in deinen anderen Blätterfunktionen verwendet. Die Schrittzahl ist fest eingestellt und es wird nur noch der Startwert mit $v weitergereicht. Schau dir das mal in den Scripten an.

      Sander

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Sonntag, 24.Februar.2002, 19:58.
    Re: Blätterfunktion

      Hallo Sander, hallo Stefan,

      ich hab's jetzt soweit hingebastelt.

      Der Code sieht jetzt so aus:
      get "FamStand~=$FamStand Geschlecht~=$Gesch Alter>=$Altab Alter<=$Altbis Kinder$Kind Groesse>=$Grossab Groesse<=$Grossbis PLZ~>=$PLZab PLZ~<=$PLZbis Land==$Land Partner==$Partner Reise==$Reise Freunde==$Freunde SHG==$SHG range=$v,2","boerse";
      

      $ende=substr($_amount_query,0,length($_amount_query)-1);
      out "= $ende = <br>";  ## Testausgabe
      out "<div align=$table_align>";
      

      out "<table width=$table cellpadding=2 cellspacing=2><tr align=left><td bgcolor=$color align='center'>";

      my $newrange=$_range+$_range_length;
      my $oldrange=$_range-$_range_length;
      

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

      out $oldrange>=0?"<a href=\"$link&v=0&namerein=$namerein&sid=$sid\">|<</a>":"|<";  #
      out "</td><td bgcolor=$color align='center'>";
      

      out $oldrange>=0?"<a href=\"$link&v=$oldrange&namerein=$namerein&sid=$sid\"><</a>":"<<"; #
      out "</td><td bgcolor=$color align='center'>";
      

      out $newrange<$_amount_query?"<a href=\"$link&v=$newrange&namerein=$namerein&sid=$sid\">></a>":">>"; #
      out "</td><td bgcolor=$color align='center'>";
      

      out $newrange<$_amount_query?"<a href=\"$link&v=".($ende."0")."&namerein=$namerein&sid=$sid\">>| </a>":">|"; #
      out "</td><td bgcolor=$color_vonbis width='200' align='center'>Einträge ".($v+1)." bis ".(($v+2)>$_amount_query?"$_amount_query":($v+2))." von $_amount_query</td>";
       
      if ($_amount)
      {
               $vr=int($v/20) unless $v==0;
               $vr=$vr*20;
               out "<td bgcolor=$color_vorzu align='center'><a href=$link&namerein=$namerein&sid=$sid&v=".($vr-20)."><<</a></td>" if ($vr-20)>=0;
               for ($i=$vr;$i<($vr+$blaetter_lang<=$_amount_query?($vr+20):$_amount_query); $i+=2)
               {
                   out "<td bgcolor=$color_zahl align='center'>".($v==$i?"<b>".($i+1)."</b>":"<a href=$link&namerein=$namerein&sid=$sid&v=$i>".($i+1)."</a>")."</td>";
               }
      out "<td bgcolor=$color_vorzu align='center'><a href=$link&namerein=$namerein&sid=$sid&v=$i>>></a></td>" if $i<$_amount_query;
           }
      out "</tr></table></div>";
      

      Nur diese Blättermarke ">|" will irgendwie nicht. Die Variable $v wird immer wieder auf NULL gesetzt, da $ende kein Ergebnis liefert. Ich weiß aber nicht woran es liegt...

      Oliver ;-)

      http://verwitwet.de/baseportal/kontakt/boerse

     Antworten

    Beitrag von Sascha Fitzner (476 Beiträge) am Sonntag, 24.Februar.2002, 20:20. WWW: planet-gaga.de
    Re: Blätterfunktion

      hi Oliver!

      warum machst du nicht einfach

      $ende=$_amount_query?
      

      gruss Sascha Fitzner

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Sonntag, 24.Februar.2002, 21:11.
    Re: Blätterfunktion

      Diese Variable steht so in der Bib. Außerdem habe ich es so auch in einer anderen Anwendung. Nur hier funktioniert es nicht...

      Dein Vorschlag funktioniert leider auch nicht...

      Oliver ;-)

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Sonntag, 24.Februar.2002, 21:35.
    Re: Blätterfunktion

      Tja, das Ganze liegt daran, dass ich noch zuwenig Datensätze in der Datenbank habe... Deshalb funktioniert die Variable $ende noch nicht.

      Ich benötige dafür mindestens 10 DS...

      Oliver ;-)

     Antworten


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