Re: Suchabfrage - 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 Sander (8133 Beiträge) am Mittwoch, 16.Januar.2002, 16:12.
    Re: Suchabfrage

      oder noch kürzer ;-)

      <perl>
      

      <loop...>
      ...
      </loop
      <perl> 
      out "keine Einträge gefunden" unless ($_amount);
      </perl>
      

      Sander


    Ihre Antwort:

    Name: EMail: EMail bei Antwort? WWW:
    Titel:
    Text:

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Jürgen (614 Beiträge) am Mittwoch, 16.Januar.2002, 10:53.
    Suchabfrage

      Habe Prob mit Suchabfrage. Folgendes ich hab da eine Seite die die
      Suchabfrage über ein Form auslöst. Sieht so in etwa aus.

      <FORM NAME="search" ENCTYPE="multipart/form-data" ACTION="http://meineDoman.info/baseportal.pl?htx=/meineDomain.de/blabla/search" METHOD=POST>
      <INPUT TYPE=HIDDEN NAME="htx=" VALUE="/meineDomain.de/blabla/search">
      <INPUT TYPE=HIDDEN NAME="cmd=" VALUE="search">
      <INPUT TYPE=HIDDEN NAME="db=" VALUE="adress_stamm">
      <INPUT TYPE=HIDDEN NAME="Such:=" VALUE="$Such">
      
      .....

      Das Ziel Template(search) ist in HTML gesetzt. Die Datenbank wird über Loop ausgelesen.
      Das Loop:

      <loop db=meineDB Firmenname~=$Such Freigegeben==1 sort=Firmenname convert_html=Firma range^=0,10>
      

      Jetzt wird mir aber bei keinem gefundenen Eintrag ja nichts angezeigt, (logisch) :-))
      aber ich möchte hier dann die Ausgabe habe, das es zum B.s. heißt
      "Keine Einträge gefunden"
      Wie stelle ich das an ?? Wer kann mir helfen??
      Danke vorab.

      Gruß Jürgen

     Antworten

    Beitrag von Marco (840 Beiträge) am Mittwoch, 16.Januar.2002, 12:07. WWW: www.lsn-online.de
    Re: Suchabfrage

      Hallo Jürgen,

      das müßte mit einem kurzen Perl-Script lösbar sein. Der Loop-Befehl setzt automatisch die Variable $_amount_query, die mit der Anzahl der ausgweählten Datensätze gefüllt ist.

      Der Code könnte so aussehen:

      <loop db=meineDB Firmenname~=$Such Freigegeben==1 sort=Firmenname convert_html=Firma range^=0,10 code=perl>
      

      if($_amount_query>0)
      {
      

      out <<EOF;


      <!-- Hier kommt Dein normaler HTML-Code hin -->
      

      EOF

      } else
      

      {
      out <<EOF;
      

      <!-- Hier kommt der HTML-Code hin, falls es keinen Treffer gab -->

      EOF
      

      }
      </loop>
      

      Denk bitte daran Anführungszeichen etc. innerhalb eines Perl-Cpdes mit "\" zu maskieren, z.B.

      <a href=\"http://www....\">
      

      mfg

      Marco

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Mittwoch, 16.Januar.2002, 14:26.
    Re: Suchabfrage

      Hi Marco,

      danke vorab, aber ich hab da noch ein Prob. Jetzt bekomme ich als Anzeige meiner Seite(search)Fehler...
      Ich weis in etwa das es an den Maskierungen hängt,
      aber wo?? Bin Per-Newbie :-(

      So sieht die Fehlermeldung aus:
      [error (loop): glob trapped by operation mask at (eval 1081) line 13. ][error (loop): glob trapped by operation mask at (eval 1086) line 13. ][error (loop): glob trapped by operation mask at (eval 1091) line 13. ][error (loop): glob trapped by operation mask at (eval 1096) line 13. ][error (loop): glob trapped by operation mask at (eval 1101) line 13. ][error (loop): glob trapped by operation mask at (eval 1106) line 13. ][error (loop): glob trapped by operation mask at (eval 1111) line 13. ][error (loop): glob trapped by operation mask at (eval 1116) line 13. ][error (loop): glob trapped by operation mask at (eval 1121) line 13. ][error (loop): glob trapped by operation mask at (eval 1126) line 13. ][error (loop): glob trapped by operation mask at (eval 1131) line 13. ][error (loop): glob trapped by operation mask at (eval 1136) line 13. ][error (loop): glob trapped by operation mask at (eval 1141) line 13. ][error (loop): glob trapped by operation mask at (eval 1146) line 13. ][error (loop): glob trapped by operation mask at (eval 1151) line 13. ][error (loop): glob trapped by operation mask at (eval 1156) line 13. ][error (loop): glob trapped by operation mask at (eval 1161) line 13. ][error (loop): glob trapped by operation mask at (eval 1166) line 13. ]

      So sieht im Moment mein Html aus:

      <loop db=adress_stamm Firmenname~=$Such Freigegeben==1 sort=Firmenname convert_html=Firma range^=0,100 code=perl>
      if($_amount_query>0)
      {
      out <<EOF;
      <p>test1</p>
      EOF
      } else
      {
      out <<EOF;
      <p>test2</p>
      EOF
      }
      ...
                      <TABLE ID="Tabelle2" BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH=100%>                     <TR VALIGN=MIDDLE ALIGN=LEFT>                         <TD WIDTH=547 BGCOLOR="#F0F0F0">                             <H2><FONT COLOR="#F0F0F0">&nbsp;</FONT>$Firmenname</TD>                     </TR>                     <TR VALIGN=TOP ALIGN=LEFT>                         <TD WIDTH=547 HEIGHT=151 BGCOLOR="$Hintergrund_Aktiv">
      .... usw.

      Was muß ich anstellen, daß das funzt???

      Gruß Jürgen

     Antworten

    Beitrag von Claus S, (0 Beiträge) am Mittwoch, 16.Januar.2002, 15:04.
    Re: Suchabfrage

      hallo jürgen,

      wahrscheinlich liegt es am 'EOF', der ist sehr empfindlich. 'EOF' muss am anfang der zeile und alleine stehen. noch nicht mal gefolgt von einem leerzeichen (und das ist in deinem code der fall).
      hoffe, das wars.

      gruss claus

     Antworten

    Beitrag von Marco (840 Beiträge) am Mittwoch, 16.Januar.2002, 15:23.
    Re: Suchabfrage

      Hallo Jürgen,

      nach dem zweiten EOF mußt Du mit </loop> die Abfrage beschließen... Mehr Fehler sehe ich auf Anhieb nicht.

      Also so:

      out <<EOF;
      <p>test2</p>
      EOF
      }
      </loop>
      

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Mittwoch, 16.Januar.2002, 16:05.
    Re: Suchabfrage

      Hi Marco,

      folgendes, wenn ich das loop(</loop>) setze wird mir
      ja normalerweise meine Datenbank nicht mehr ausgelesen.
      Sollte ja eigentlich in meiner Tabelle erscheinen.
      Trotz alledem bekomme ich die Fehlermeldung wenn ich
      das loop so anordne wie du es beschrieben hast.
      Hab auch sämtliche leer's aus meinem Template gelöscht.
      Fehlermeldung wurde kleiner, aber funzt trotzdem nicht.
      Vieleicht hat ja einer noch eine Lösung. Danke.

      Gruß Jürgen

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 16.Januar.2002, 16:11.
    Re: Suchabfrage

      ganz kurz gehts mit
      <loop...>
      
      normales html
      </loop>
      <perl>
      unless ($_amount)
      {
      out "keine Einträge gefunden";
      }
      </perl>
      

      Sander

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 16.Januar.2002, 16:12.
    Re: Suchabfrage

      oder noch kürzer ;-)

      <perl>
      

      <loop...>
      ...
      </loop
      <perl> 
      out "keine Einträge gefunden" unless ($_amount);
      </perl>
      

      Sander

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 16.Januar.2002, 16:14.
    Re: Suchabfrage

      das erste perl ist zuviel :-(

      Sander

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Mittwoch, 16.Januar.2002, 18:11.
    Re: Suchabfrage

      Hi Sander und Marco,

      danke für die Tipps jetzt funzt es. Jetzt hab ich da noch ein Prob. Wenn ich aus meinem Suchformular die
      Suchabfrage starte und das Zieltemplate mir die Angabe
      macht "Keine Datensätze gefunden", erscheint auch das Vor- und Zurückblattern (Perlscript), sollte eigentlich nur wie gehabt "Keine Datensätze gefunden" anzeigen.
      Was mache ich da noch falsch??
      Danke

      Gruß Jürgen

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 16.Januar.2002, 19:16.
    Re: Suchabfrage

      leg mal den Code hier rein

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Mittwoch, 16.Januar.2002, 19:37.
    Re: Suchabfrage

      Hi Sander,

      anbei mein Code:

      <HTML>
      <HEAD>
      <BODY>
      
      .....
      <TD WIDTH=551><loop db=adress_stamm Firmenname~=$Such Freigegeben==1 sort=Firmenname convert_html=Beschreibung range^=0,5>

      .... Meine Tabelle(Html)


      <perl>
      unless ($_amount)
      {
      out "keine Einträge gefunden";
      } else
      {
      out "jkljdlgjldjfgj";
      }
      

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

      out "<p>[ <a href=\"$_link&range=$oldrange,$_range_length\">Vorherige Einträge</a> ] " if $oldrange>=0;
      out "[ <a href=\"$_link&range=$newrange,$_range_length\">Weitere Einträge</a> ]" if $newrange<$_amount_all;
      

      </perl>
      </TD>
              </TR>
          </TABLE>
          </CENTER>
      </BODY>
      </HTML>
      

      Ich hab keine Ahnung warum ?????? :-((

      Gruß Jürgen

      P.s. Wie kann bzw. muß man den Perlcode ändern um
      z.B. anzuzeigen um wieviel Seiten es sich handelt??

      z.B. so: [Vorherige Einträge] 1-5 [Weitere Einträge]

     Antworten

    Beitrag von Marco (840 Beiträge) am Donnerstag, 17.Januar.2002, 12:18.
    Re: Suchabfrage

      Hallo Jürgen,

      wenn die Links nur erscheinen sollen, wenn es mehr als 0 Treffer gibt, dann nimm das doch in den "else"-Teil auf...


      <perl>
      unless ($_amount)
      {
      out "keine Einträge gefunden";
      } else
      {
      my $newrange=$_range+$_range_length;
      my $oldrange=$_range-$_range_length;
      $oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
      

      out "<p>[ <a href=\"$_link&range=$oldrange,$_range_length\">Vorherige Einträge</a> ] " if $oldrange>=0;
      out "[ <a href=\"$_link&range=$newrange,$_range_length\">Weitere Einträge</a> ]" if $newrange<$_amount_all;
      }
      

      </perl>

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Freitag, 18.Januar.2002, 22:05.
    Re: Suchabfrage

      Hi Marco,

      sorry, das es solange gedauert hat, aber ich hatte anderes zu tun.
      Danke für den Tipp(funzt). Hoffe, seid wieder da, wenn ich Prob habe. Danke.

      Gruß Jürgen

     Antworten


     
 Liste der ersten 150 Einträge:Einklappen Zur Eingabe 
 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.11s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!