Re: WARUM WIRD NUR EIN TEIL ANGEZEIGT - 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 Donnerstag, 14.August.2003, 13:25.
    Re: WARUM WIRD NUR EIN TEIL ANGEZEIGT

      Hallo, Sebastian,
      neme stark an, dass das mit der falschen Feldnamenszuweisung für das Feld _fullsearch== zusammenhängt, versuch mal _fullsearch=~ als Name.
      Weiterhin ist das mit zwei Full-Search-Feldern gleichen Namens eh son Ding, die sind ja nicht indiziert und damit weiss dein Script ja nicht, welches Feld es denn nehmen soll (wenn du in eins einen Wert einträgst und in das andere keinen steht im Übergabehash mit Schlüsselwert _fullsearch=~ mal was drin und mal nichts, da wird je nach Reihenfolge im Hash[die ja bekanntermassen bei Perl nicht beeinflussbar ist] der erste Wert mit dem zweiten gleichlautenden überschrieben).
      Ich würde die Felder anders benennen und dann aus dem get_hash (Feldnamen/Wertpaare stehen im get_hash wenn Felder mit name="feldname=" benannt werden) mit dem entsprechenden Variablennamen an die Fullsearch-Routine übergeben

      HTH
      Ruben


    Ihre Antwort:

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

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Sebastian (0 Beiträge) am Donnerstag, 14.August.2003, 12:21. WWW: uni-fit.de
    WARUM WIRD NUR EIN TEIL ANGEZEIGT

      Hallo, habe eine Suche erstellt, unter http://unifit-daten.de/baseportal/2003/katalysatoren/suche_020 . wenn ich aber nun nach der tsn zu 2 mit 0588 (AUDI) suche, zeigt mit das ergebnis immer nur 10 Datensätze an, obwohl in der datenbank mehr sind und das range=0,* gestellt ist. wo mach ich was falsch ?

      sebastian

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Donnerstag, 14.August.2003, 13:25.
    Re: WARUM WIRD NUR EIN TEIL ANGEZEIGT

      Hallo, Sebastian,
      neme stark an, dass das mit der falschen Feldnamenszuweisung für das Feld _fullsearch== zusammenhängt, versuch mal _fullsearch=~ als Name.
      Weiterhin ist das mit zwei Full-Search-Feldern gleichen Namens eh son Ding, die sind ja nicht indiziert und damit weiss dein Script ja nicht, welches Feld es denn nehmen soll (wenn du in eins einen Wert einträgst und in das andere keinen steht im Übergabehash mit Schlüsselwert _fullsearch=~ mal was drin und mal nichts, da wird je nach Reihenfolge im Hash[die ja bekanntermassen bei Perl nicht beeinflussbar ist] der erste Wert mit dem zweiten gleichlautenden überschrieben).
      Ich würde die Felder anders benennen und dann aus dem get_hash (Feldnamen/Wertpaare stehen im get_hash wenn Felder mit name="feldname=" benannt werden) mit dem entsprechenden Variablennamen an die Fullsearch-Routine übergeben

      HTH
      Ruben

     Antworten

    Beitrag von Sebastian (0 Beiträge) am Donnerstag, 14.August.2003, 13:50. WWW: uni-fit.de
    Re: WARUM WIRD NUR EIN TEIL ANGEZEIGT

      hallo ruben,
      jetzt verstehe ich das ganze wieder etwas mehr, durch deine gute erklärung. habe das mit _fullsearch=~ ausprobiert. es werden aber dann alle datensätze angezeigt. das mit dem hash habe ich schon mal probieren wollen, aber komme damit nicht klar. sebastian

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Donnerstag, 14.August.2003, 15:02.
    Re: WARUM WIRD NUR EIN TEIL ANGEZEIGT

      Hallo, Sebastian,#
      mhm - also ich hab selbst mit fullsearch noch nicht gearbeitet (noch nicht gebraucht) - so richtig weiterhelfen kann ich dir da auch nicht, aber mal kurz zu den Formularvariablen in BP (Formularfelder mit Namenskonvention name="feldname=" sind im aufgerufenen Template direkt über ihren Variablennamen=Feldname ansprechbar):

      1) Feldbenennung in HTML-Seite, die das Suchtemplate aufruft:
      (ich gehe mal davon aus, dass die Ergebnisseite (und die Suchseite) die der Formularaktion ist...)
      ... html beliebig anpassen
      <table>
      <tr> 
      <td WIDTH="200" ALIGN="CENTER"><form action="http://unifit-daten.de/baseportal?htx=/unifit-daten.de/2003/master_unifit/master_unifit_020" method="post" enctype="multipart/form-data">
      <input type=hidden name="htx=" value="/unifit-daten.de/2003/master_unifit/master_unifit_020">
      <!-- erstes Eingabefeld f. Suchwert fs1 -->
      <input type="text" name="fs1=" value="" size="20"></td> 
      <td WIDTH="200" ALIGN="CENTER"><input type="submit" value="Suchen"></td> 
      <td WIDTH="200" ALIGN="CENTER">
      <!-- zweites Eingabefeld f. Suchwert fs2 -->
      <input type="text" name="fs2=" value="" size="20"></td>
      <!-- Formfeld f. Aktion im aufgerufenen Template -->
      <input type=hidden name="aktion=" value="suchen"> 
      </tr> 
      </form>
      </table>
      
      ....
      2) dann im bp-Template:
      <perl>
      # einfach mal die Vars deklarieren und leer definiert vorbelegen,
      # falls sie nicht übergeben wurden
      $fs1||=""; 
      $fs2||="";
      $aktion||=""
      if ($aktion eq "suchen"){ #wenn für aktion der entspr. Wert übergeben wurde
        if ($fs1 ne "" && $fs2 eq ""){
        get "_fullsearch==$fs1 range=0,*", "deindbname1", "suchergebnis";
        } elsif ( ($fs1 eq "" && $fs2 ne ""){
        get "_fullsearch==$fs1 range=0,*", "deindbname", "suchergebnis";
        } elsif ($fs1 ne "" && $fs2 eq ""){
        out "Bitte nur in ein Feld einen Suchbegriff eingeben";
        } # E ifs f. $fsn
        #--- Anzahl der Suchtreffer ausgeben
         if ( $_fullsearch_amount < 1){
         out "Es wurden keine Treffer gefunden";
         } else {
         out "$_fullsearch_amount Treffer gefunden";
         }
        #---- Gefundenen Datensätze ausgeben
        while(get_next("suchergebnis")){
        ..hier jetzt deine Ausgaben rein
        } # E while_get_next
      } # E if aktion
      
      .....
      Das ganze ist nur ein Denkanstoss und nicht getestet!
      Aber sag mal, wie ist das eigentlich mit den Feldern tsn_zu_2= und tsn_zu_3= gemeint?
      Die Volltextsuche lässt sich nicht auf Felder begrenzen, es langt in jedem Falle ein Suchfeld, weil immer alles der gesamten Datenbank durchsucht wird - es sei denn, du hast die Inhalte in unterschiedlichen Datenbanken stehen, dann würden zwei Felder auf ein Suchformular Sinn machen (und der Code oben auch, allerdings dann halt die DB-Namen entsprechend dem übergebenen Feld einsetzen)
      Hoffe, du kommst klar damit
      Ruben

     Antworten

    Beitrag von Sebastian (0 Beiträge) am Donnerstag, 14.August.2003, 23:18. WWW: uni-fit.de
    Re: WARUM WIRD NUR EIN TEIL ANGEZEIGT

      hallo ruben,
      huch ne menge stoff auf einmal. kenne mich auch nicht so aus mit fullsaerch, was ich eigentlich möchte, ist folgendes. über die tsn_zu_2 und die tsn_zu_3 aus dem fahrzeugschein, soll bei eingabe das passende kfz mit den verschiedenen katalysatoren typen angezeigt werden. es werden ca. 1200 verschiedene autos sein. mit den tsn nummern kann ich am einfachsten und am genauesten das fahrzeug finden. ( http://unifit-daten.de/baseportal/2003/master_unifit/master_unifit_001 )kann ich eigentlich direkt nur in einem datenfeld, z.b. nur zuerst im tsn_zu_2 suchen, dann die automarke anzeigen, darauf die tsn_zu_3 eingebne und das dazugehörige modell anzeigen ? was mir auch noch ein problem scheint, bei einigen fahrzeugen gibt es mehrere tsn's. habe die jetzt so im satefeld stehen "310 / 312 / 452 / 529". gibt das probleme wenn ich nach 452 suchen will ? werde dein denkanstoss mal am morgen genauer studieren ?
      danke auch noch für die bisherige unterstützung.
      sebastian

     Antworten


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