Re: Blätter Script Bug - 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 Thomas H. (180 Beiträge) am Mittwoch, 27.April.2005, 15:04.
    Re: Blätter Script Bug

      Jeht´s geht´s.
      Danke Dir.

      Grüße
      aus Obernburg am Main


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Thomas H. (180 Beiträge) am Dienstag, 26.April.2005, 14:26.
    Blätter Script Bug

      Hallo Leutz,

      es gibt doch Probleme :-)

      Habe ein Problem mit dem Blätter Script aus der BIB. Dachte die ganze Zeit es funktioniert, jetzt habe ich aber doch einen Fehler entdeckt, ziemlich schwerwiegend sogar.

      Das Script scheint im ersten Moment korrekt zu funktionieren, wenn man es aufruft wird die Blätter Anzeige korrekt dargestellt und man kann auch normal blättern.
      Das Problem tritt erst dann auf, wenn man aus einem Formular eine Abfrage erstellt und auch nur dann wenn man z.B. Abfragen mit >= stellt, d.h. wenn man Einträge sucht die z.B. größer bzw. größer gleich sind.

      Das Blätter Script nimmt dann seltsame Erscheinungsformen an, daß sieht dann so aus:
      |< << > >| Angebote 1 bis 6 von 12 1 =8&sort=>7

      Man beachte den letzten Teil, es werden scheinbar Teile des Quellcodes sichtbar. Da funktioniert dann auch nichts mehr.

      Bei Abfragen kleiner gleich oder gleich funktioniert einwandfrei.


      Hier der reduzierte Quellcode mit einer Ausgabetabelle:

      <perl>
      $v=$v||0;
      </perl>
      

      <perl>
      get "Id==* _fullsearch~=$suche fullsearch_match=500 range=$v,6 @_sel", "datenbank";
      </perl>
      <loop _fullsearch~=$suche fullsearch_match=500 sort^=-Id code=perl db=datenbank range^=$v,6>
      out<<EOF;
      

      <table border="0" width="434" cellpadding="0" style="border-collapse: collapse">
      <tr>
      <td width="9" bgcolor="#E3EAFB" align="left" valign="top" rowspan="4">
      <img border="0" src="http://www.meinedomain/baseportal/images_layout/Pixel.gif" width="6" height="74"></td>
      <td width="270" bgcolor="#E3EAFB" align="left" valign="bottom"><font size="2"><b>
      $Art</b> / $Region / $Region2</font></td>
      <td width="12" rowspan="4">
      <img border="0" src="http://www.meinedomain/baseportal/images_layout/Pixel.gif" width="7" height="74"></td>
      <td bgcolor="#E3EAFB" rowspan="4">
      <a href="http://meinedomain.de/cgi-bin/baseportal.pl?htx=/nutzer/verzeichnis/template_10_5&db=datenbank&Id=$_id">
      <img src='http://www.meinedomain.de/files/$_raw{Bild01}' width='130' height='74'></a></td>
      </tr>
      <tr>
      <td width="270" bgcolor="#E3EAFB" align="left"><font size="2">$Typ 
      in $Ort / $Pool</font></td>
      </tr>
      <tr>
      <td width="270" bgcolor="#E3EAFB" align="left" valign="top"><font size="2">Bis 
      $P Personen</font></td>
      </tr>
      <tr>
      <td width="270" bgcolor="#E3EAFB" align="left" valign="top">
      <p align="right"><b><font size="2">Preis ab $Preis EUR</font></b></td>
      </tr>
      <tr>
      <td width="9" background="http://www.meinedomain/baseportal/images_layout/point_line13.gif">
      <img border="0" src="http://www.meinedomain/baseportal/images_layout/Pixel.gif" width="6" height="23"></td>
      <td width="270" background="http://www.meinedomain/baseportal/images_layout/point_line13.gif">
      <img border="0" src="http://www.meinedomain/baseportal/images_layout/Pixel.gif" width="291" height="23"></td>
      <td width="12">
      <img border="0" src="http://www.meinedomain/baseportal/images_layout/Pixel.gif" width="7" height="23"></td>
      <td background="http://www.meinedomain/baseportal/images_layout/point_line13.gif">
      <img border="0" src="http://www.meinedomain/baseportal/images_layout/Pixel.gif" width="130" height="23"></td>
      </tr>
      </table>
      

      EOF
      </loop>
      

      <perl>
      my $range=$_range_length;
      my $blaettern=$_range_length;
      my $blaetter_lang=$range*6;
      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 $font='Arial, Verdana, Arial';
      my $size='2';
      my $table='';
      my $table_align='left';
      

      out "<div align=$table_align>";
      out "<table width=$table cellpadding=4 height=25 cellspacing=4><tr align=left>
      <td bgcolor=$color align='center'><font face=$font font size=$size>";
       
      $oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
      

      out $oldrange>=0?"<a href=\"$_link&v=0&suche=$suche&@_sel&sort=$sort\">|<</a>":"|<";
      out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
      out $oldrange>=0?"<a href=\"$_link&v=$oldrange&suche=$suche&@_sel&sort=$sort\"><</a>":"<<";
      out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
      

      $ende=substr($_amount_query,0,length($_amount_query)-1);
      out $newrange<$_amount_query?"<a href=\"$_link&v=$newrange&suche=$suche&@_sel&sort=$sort\">></a>":">>";
      out "</font></td><td font face=$font font size=$size bgcolor=$color align='center'><font face=$font font size=1>";
      out $newrange<$_amount_query?"<a href=\"$_link&suche=$suche&v=".($ende."0")."&@_sel&sort=$sort\">>|
      </a>":">|";
      out "</font></td><td bgcolor=$color_vonbis width='185' align='center'><font face=$font font size=$size>Angebote ".($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=$font font size=$size><a href=$_link&suche=$suche&v=".($vr-$blaetter_lang)."&@_sel&sort=$sort><<</a></font></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=$font font size=$size>".($v==$i?"<b>".($i+1)."</b>":"<a
      href=$_link&suche=$suche&v=$i&@_sel&sort=$sort>".($i+1)."</a>")."</font></td>";
      }
      out "<td bgcolor=$color_vorzu align='center'><font face=$font font size=$size><a href=$_link&suche=$suche&v=$i&@_sel&sort=$sort>>></a></font></td>" if $i<$_amount_query;
      }
      out "</font></tr></table></div>"; 
      

      </perl>


      Vielleicht erkennt jemand auf den ersten Blick was da nicht stimmt.

      Gruß
      Thomas

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 26.April.2005, 15:14.
    Re: Blätter Script Bug

      unten bei den links fehlen die " bei href="

      Sander

     Antworten

    Beitrag von Thomas H. (180 Beiträge) am Dienstag, 26.April.2005, 15:43.
    Re: Blätter Script Bug

      Hallo Sander,

      meinst Du das so:


      14.letzte Zeile
      href="$_link&suche=$suche&v=".($vr-$blaetter_lang)."&@_sel&sort=$sort><<</a></font></td>" if


      7.Letzte Zeile
      href="$_link&suche=$suche&v=$i&@_sel&sort=$sort>".($i+1)."</a>")."</font></td>";


      4.Letzte Zeile
      href="$_link&suche=$suche&v=$i&@_sel&sort=$sort>>></a></font></td>" if $i<$_amount_query;


      Ich habe die 3 Zeilen geändert. Jetzt geht aber gar nichts mehr.
      Fehler: Fehlerhafter Perl Code in :
      syntax error at (eval 450) line 42, near "" ]

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 26.April.2005, 16:00.
    Re: Blätter Script Bug

      na dann statt " die ' nutzen und natürlich mußt du href= auch mit " oder ' beenden...
      <a href="....">
      
      bzw
      <a href='....'>

     Antworten

    Beitrag von Thomas H. (180 Beiträge) am Dienstag, 26.April.2005, 20:06.
    Re: Blätter Script Bug

      Wenn ich ja wüßte wo das Ende ist :-)

     Antworten

    Beitrag von link (5 Beiträge) am Dienstag, 26.April.2005, 21:05.
    Re: Blätter Script Bug

     Antworten

    Beitrag von Tina (259 Beiträge) am Mittwoch, 27.April.2005, 09:40. WWW: ZERGportal.de
    Re: Blätter Script Bug

      upps, das ist eine Uraltversion des Scriptes. Hier mal die aktuelle Fassung ;-)

      <perl>
      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='#DDDDDD';
      my $color_vonbis='#FFFFFF';
      my $color_zahl='#DDDDDD';
      my $color_vorzu='#DDDDDD';
      my $color_balken='#DDDDDD';
      my $font='Verdana, Thomas, Arial';
      my $size='2';
      my $table='';
      my $table_align='left';
      $_amount = $amount_sav;
      $_amount_query = $amount_query_sav;
      out "<div align=$table_align>";
      out "<table width=$table cellpadding=4 height=25 cellspacing=4><tr align=left>
      <td bgcolor=$color align='center'><font face=$font font size=$size>";
       
      $oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
      

      out $oldrange>=0?"<a href=\"$_link&v=0&suche=$suche&@_sel&sort=$sort\">|<</a>":"|<";
      out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
      out $oldrange>=0?"<a href=\"$_link&v=$oldrange&suche=$suche&@_sel&sort=$sort\"><</a>":"<<";
      out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
      

      $ende=substr($_amount_query,0,length($_amount_query)-1);
      out $newrange<$_amount_query?"<a href=\"$_link&v=$newrange&suche=$suche&@_sel&sort=$sort\">></a>":">>";
      out "</font></td><td font face=$font font size=$size bgcolor=$color align='center'><font face=$font font size=1>";
      out $newrange<$_amount_query?"<a href=\"$_link&suche=$suche&v=".($ende."0")."&@_sel&sort=$sort\">>|
      </a>":">|";
      out "</font></td><td bgcolor=$color_vonbis width='185' align='center'><font face=$font font size=$size>Anzeige ".($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=$font font size=$size><a href=\"$_link&suche=$suche&v=".($vr-$blaetter_lang)."&@_sel&sort=$sort>\"<<</a></font></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=$font font size=$size>".($v==$i?"<b>".($i+1)."</b>":"
      <a
      href='$_link&suche=$suche&v=$i&@_sel&sort=$sort'>
      ".($i+1)."</a>")."</font></td>";
      

      }
      out "<td bgcolor=$color_vorzu align='center'><font face=$font font size=$size><a href=\"$_link&suche=$suche&v=$i&@_sel&sort=$sort\">></a></font></td>" if $i<$_amount_query;
      }
      out "</font></tr></table></div>"; 
      </perl>
      


      Hinweis: Beim loop muß $_amount und $_amount_query mit durchgeschleift werden, falls man mehrer andere Datenbanken in sein Template mit get oder loop ausgibt.

      <loop ....code=perl>
      $amount_sav = $_amount;
      $amount_query_sav = $_amount_query;
      



      Die aktuelle Fassung könnt ihr euch bei der Vermittlungsdatenbank z.B. für Hunde hier ansehen
      http://zergportal.de/baseportal/tiere/index

      Dort gibt es für die Detailansicht auch eine neue Blätterfunktion <vor> - <zurück>. Bei Interesse kann ich es hier auch mal veröffentlichen. Läuft allerdings nur mit get. Fehlende Datensätze (Ids) werden über eine kleine Schleife rausgefiltert, sowie Anfang und Ende der db vorher über get geholt.

      Grüße Tina

     Antworten

    Beitrag von Thomas H. (180 Beiträge) am Mittwoch, 27.April.2005, 10:47.
    Re: Blätter Script Bug

      Hallo Tina,
      danke für die Information.
      Aber irgendwas fehlt noch. Habe es jetzt aktualisiert, aber es werden keine Daten zum Blättern angezeigt sondern nur:

      |< << >> >| Anzeige 1 bis von


      Benutze nur eine Datenbank, nicht mehrere.
      Hier der Quellcode:


      <perl>
      $v=$v||0;
      </perl>
      

      <perl>
      get "Id==* _fullsearch~=$suche fullsearch_match=500 range=$v,6 @_sel", "datenbank";
      </perl>
      <loop _fullsearch~=$suche fullsearch_match=500 sort^=-Id code=perl db=datenbank range^=$v,6>
      out<<EOF;
      

      Ausgabetabelle

      EOF
      </loop>
      

      <perl>
      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='#DDDDDD';
      my $color_vonbis='#FFFFFF';
      my $color_zahl='#DDDDDD';
      my $color_vorzu='#DDDDDD';
      my $color_balken='#DDDDDD';
      my $font='Verdana, Thomas, Arial';
      my $size='2';
      my $table='';
      my $table_align='left';
      $_amount = $amount_sav;
      $_amount_query = $amount_query_sav;
       
      

      out "<div align=$table_align>";
      out "<table width=$table cellpadding=4 height=25 cellspacing=4><tr align=left>
      <td bgcolor=$color align='center'><font face=$font font size=$size>";
      

      $oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
       
      out $oldrange>=0?"<a href=\"$_link&v=0&suche=$suche&@_sel&sort=$sort\">|<</a>":"|<";
      out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
      out $oldrange>=0?"<a href=\"$_link&v=$oldrange&suche=$suche&@_sel&sort=$sort\"><</a>":"<<";
      out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
      

      $ende=substr($_amount_query,0,length($_amount_query)-1);
      out $newrange<$_amount_query?"<a href=\"$_link&v=$newrange&suche=$suche&@_sel&sort=$sort\">></a>":">>";
      out "</font></td><td font face=$font font size=$size bgcolor=$color align='center'><font face=$font font size=1>";
      out $newrange<$_amount_query?"<a href=\"$_link&suche=$suche&v=".($ende."0")."&@_sel&sort=$sort\">>|
      </a>":">|";
      out "</font></td><td bgcolor=$color_vonbis width='185' align='center'><font face=$font font size=$size>Anzeige ".($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=$font font size=$size><a href=\"$_link&suche=$suche&v=".($vr-$blaetter_lang)."&@_sel&sort=$sort>\"<<</a></font></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=$font font size=$size>".($v==$i?"<b>".($i+1)."</b>":"
      <a
       
      href='$_link&suche=$suche&v=$i&@_sel&sort=$sort'>
      ".($i+1)."</a>")."</font></td>";
      

      }
      out "<td bgcolor=$color_vorzu align='center'><font face=$font font size=$size><a href=\"$_link&suche=$suche&v=$i&@_sel&sort=$sort\">></a></font></td>" if $i<$_amount_query;
      }
      out "</font></tr></table></div>"; 
      

      </perl>

     Antworten

    Beitrag von Tina (259 Beiträge) am Mittwoch, 27.April.2005, 14:13. WWW: ZERGportal.de
    Re: Blätter Script Bug

      Ich hoffe, dass du den Datenbankname auch richtig gesetzt hast, oder ...?

      Dann kann der erste get komplett raus, du arbeitest ja mit loop ;-)

      Dann muß das beim Blättern raus, da du die beim loop nicht mit durchschleifst

      #$_amount = $amount_sav;
      #$_amount_query = $amount_query_sav;
      

     Antworten

    Beitrag von Thomas H. (180 Beiträge) am Mittwoch, 27.April.2005, 15:04.
    Re: Blätter Script Bug

      Jeht´s geht´s.
      Danke Dir.

      Grüße
      aus Obernburg am Main

     Antworten


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