Re: Suche über mehrere (hier: sechs) Felder - 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 ThomasH (73 Beiträge) am Donnerstag, 19.Mai.2011, 07:47.
    Re: Suche über mehrere (hier: sechs) Felder

      Danke für Deinen Hinweis; ja, die Seite hatte ich gelesen, dort ist aber keine Beschreibung der Suche über die verschiedenen Felder durch *ein* Sucheingabefeld beschrieben, wenn ich mich nicht irre. Thomas


    Ihre Antwort:

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

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von ThomasH (73 Beiträge) am Mittwoch, 18.Mai.2011, 17:32.
    Suche über mehrere (hier: sechs) Felder

      Hallo,

      wir nutzen schon lange und gerne eine schlichte baseportal-Adressendatenbank mit den Kontakten zu Sprachmittlern, die wir für unsere (nichtkommerzielle) Arbeit mit Flüchtlingen benötigen.

      Es gibt Sprachtalente, die bis zu sechs Sprachen sprechen.

      Erfasst ist das bspw. so, jeweils in eigenen Feldern:

      Sprache 1: Lingala
      Sprache 2: Swahili
      Sprache 3: Susu
      Sprache 4: Französisch
      Sprache 5: Russisch
      Sprache 6: <leer>

      Warum wir nicht alle Sprachen in einem (Auswahl-)Feld zusammenfassen, hatte folgenden Grund: die Priorität. Sprache 1 kann dieser Sprachmittler am besten, Sprache 5 kann er, wenn's sein muss, auch noch leidlich.

      Nun aber sind so viele Sprachmittler zusammengekommen, dass wir Suchabfragen machen müssen. Wir wollen z.B. einen Sprachmittler für <Susu> finden, aber <Susu> kann bei dem einen Sprachmittler in Feld <Sprache 1>, bei einem anderen Sprachmittler aber in Feld <Sprache 4> stehen.

      Ich habe das Forum durchstöbert, aber meine wohl neue Frage hier lautet:

      Wie kann ich mit der Eingabe von <Susu> in *ein* Suchfeld, alle sechs Sprachenfelder abfragen und an welcher Stelle muss ich den Code eintragen?

      Für Eure Hilfe wäre ich sehr dankbar,

      Thomas

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 18.Mai.2011, 22:01.
    Re: Suche über mehrere (hier: sechs) Felder

     Antworten

    Beitrag von ThomasH (73 Beiträge) am Donnerstag, 19.Mai.2011, 07:47.
    Re: Suche über mehrere (hier: sechs) Felder

      Danke für Deinen Hinweis; ja, die Seite hatte ich gelesen, dort ist aber keine Beschreibung der Suche über die verschiedenen Felder durch *ein* Sucheingabefeld beschrieben, wenn ich mich nicht irre. Thomas

     Antworten

    Beitrag von richard (1187 Beiträge) am Donnerstag, 19.Mai.2011, 08:53. WWW: posaunenchor-rhoden.de
    Re: Re: Suche über mehrere (hier: sechs) Felder

      Eigentlich doch. Ich habe Dir unten mal eine gekürzte und (hoffentlich) übersichtliche Fassung für action=all gepostet. Du mußt alles was unter der Linie steht in ein neues Template kopieren und(!) dort wo "db=DeineDatenbank" steht "DeineDatenbank" durch den Namen Deiner Datenbank ersetzen.

      --------------------------------------

      <html><head></head><body>
      

      <form action="baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
      <input type="hidden" name="htx=" value="$htx">
      Freie Suche: <input type="text" name="_fullsearch~~" value="$_fullsearch">
      <input type="submit" value="Suchen">
      </form>
      

      <do action=all db=DeineDatenbank _fullsearch~~$_fullsearch fullsearch_range=0,10000 fullsearch_match=1000>

      </body></html>
      

     Antworten

    Beitrag von ThomasH (73 Beiträge) am Dienstag, 24.Mai.2011, 15:51.
    Re:Suche über mehrere (hier: sechs) Felder

      Danke für Deine Antwort.

      Damit wird über die gesamte Datenbank gesucht, nicht über einzelne Felder.

     Antworten

    Beitrag von sebastian (533 Beiträge) am Dienstag, 24.Mai.2011, 21:01.
    Re: Re:Suche über mehrere (hier: sechs) Felder

      schaue mal, vielleicht hilft dir das. habe ich mal aus der bib

      #<!Suchformular ------------------------------------->
      out "<font size=2 face=arial,helvetica>";
      out "<form action='http://deine_domian.sa/cgi-bin/baseportal.pl?htx=$htx' method='post' enctype='multipart/form-data'>";
      out "<TABLE WIDTH='800' CELLPADDING='2' CELLSPACING='2' BORDER='0' ALIGN='CENTER'>";
      out "<input type='hidden' name='show=' value=''>";
      out "<input type='hidden' name='uid=' value='$uid'>"; # bei passwortschutz
      out "<input type='hidden' name='sid=' value='$_session'>"; # bei passwortschutz
      out "<tr><td colspan='5' align='center'>Volltextsuche für mehrere Felder: Art | Titel | Beschreibung</td></tr>";
      out "<tr><td align='center'><font size='2' face='arial,helvetica'>";
      out "<input type='text' name='Such=' size='10' value=''> </font>";
      out "<input type='submit' value='Suchen'>";
      out "</td></tr></form>";
      #<!Ende Suchformular----------------------------------->
      

      ####### Datenbank und das Href wird definiert
      $db="deine datenbank";
      $link_feld="Titel bzw. feldname";
      

      # hier weden die suchfelder definiert
      $such_feld1="Art"; # feldname 1 der db
      $such_feld2="Titel"; # feldname 2 der db
      $such_feld3="Beschreibung"; # feldname 3 der db
      ##usw.
      

      ##########
      my @Daten;
      if ($Such ne "") #falls eine Suchanfrage gestartet wurde
      {
      out "<tr><td colspan='5' align='left'>Suchbegriff =<b>[$Such]</b><br></td></tr>";
      my $i=0;
      

      ####### deutsche eigenheiten
      $mSuch = $Such;
      $mSuch =~ s/ä/Ä/g;
      $mSuch =~ s/ö/Ö/g;
      $mSuch =~ s/ü/Ü/g;
      $mSuch=lc($mSuch);
      $mSuch =~ s/ae/ä/g;
      $mSuch =~ s/oe/ö/g;
      $mSuch =~ s/ue/ü/g;
      #------------------
      

      get "Id==*", "$db" ;
      while(get_next($db))
      {
      if(
      (index($$such_feld1,$Such)>=0 or ($$such_feld1 =~  /$mSuch/gim))
      or (index($$such_feld2,$Such)>=0 or ($$such_feld2 =~ /$mSuch/gim))
      or (index($$such_feld3,$Such)>=0 or ($$such_feld3 =~ /$mSuch/gim))
      #usw
      
      )

      {
      $i++;
      $vFelder="@such_feld";
      $Daten[$i]="$i.<a href='http://deine_domain.de/cgi-bin/baseportal.pl?htx=$htx&Such=$Such&mSuch=$mSuch
      &ID=$_id&uid=$uid&sid=$_session'>$$link_feld</a><br>";
      }
      }
      

      #
      #
      #
      #
      #
      if($ID ne "")
      {
      out "<tr><td colspan='5' align='center'><hr></td></tr>";
      get "Id==!$ID","$db";
      # AUSGABE DER VORSCHAU
      ######################################
      out "<tr><td colspan='5' align='left' BGCOLOR='#797951'>$pfeil_weiss Titel: <b>$$link_feld</b> | <A HREF=\"http://deine_domain.de/cgi-bin/baseportal.pl?htx=/deine_domain.de/dein_pfad/info_suchen&Id==$_id&uid=$uid&sid=$_session\" target=\"Popup\" onclick=\"javascript:popup('Popup','width=850,height=400,scrollbars=yes')\">ID: <b>$_id</b></a>";
      out "<br>$pfeil_weiss Art: <b>$$such_feld1</b></td></tr>";
      out "<tr><td colspan='5' align='left' BGCOLOR='#999966'><br>$$such_feld2";
      ### AUSGABE BESCHREIBUNG == $$SUCH_FELD3     #############################
      out "<br> Beschreibung:<br>$$such_feld3" if $$such_feld3 ne "";
      # treffer in rot einfärben
      

      $$such_feld1=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      $$such_feld2=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      $$such_feld3=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      }
      out "<tr><td colspan='5' align='left'></td></tr>";
      out "<tr><td colspan='5' align='left'>Treffer: $i - ";
      $treffer = $i > 0 ? "Wählen Sie nachfolgend aus:" : "Leider KEIN/E Treffer";
      out "<b>$treffer</b><br></td></tr>";
      out "<tr><td colspan='5' align='left'></td></tr>";
      out "<tr><td colspan='5' align='left'>@Daten</td></tr>";
      out "</table>";
      }
      

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 25.Mai.2011, 10:34.
    Re: Re: Re:Suche über mehrere (hier: sechs) Felder

      hmm, da holst du alle einträge und gibst am schluß nur die betreffenden aus - nicht sehr resourcenschonend.

      besser wäre vor dem <do action...> das inputfeld auf die anderen felder zu erweitern.
      Dazu würde ich aber gern mal die bisherige seite und einen link dahin sehen. Dann kann man sicher was basteln.

     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.09s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!