• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Suchfunktion erstellen?!

nicosammito

Neues Mitglied
Hallo,
Ich würde gerne eine Suchfunktion erstellen, wo man zum Beispiel ein Produktname eingeben kann, wie iPhone und anschließend auf einer neuen Seite die Ergebnisse zu der Suche sehen kann.

Hier schonmal das was ich bis jetzt gemacht hab:
HTML:
<form action="test.html" method="GET">
      <input type="search" name="q" value>
      <button>suchen</button>
     
</form>


In diesem Fall ist test.html die Seite wo dann das Ergebnis angezeigt wird.

Schonmal vorab vielen Dank!! :)
 
Zuletzt bearbeitet:
Werbung:
oh ja . Das geht zwar mit javascript,weil ich das auch mal gemacht habe ,ist aber nicht gerade das schnellste.
Du willst deine eigene Homepage durchsuchen lassen ?
Dann solltest du es mit datenbank machen.
Ich muß mal suchen wo ich die javascript suche habe,dann kannst su mal sehen wie der unterschied ist wenn du meine homepage durchsuchst.
Mit datenbank dauert das unter 1 sekunden und mit javascript mehrere Sekunden.
Du könntest zwar vorher für jede Seite suchwörter festlegen und dann in arrays speichern,was die Suche schneller machen würde,aber wenn eiiner ein suchwort eingibt was nicht im array steht geht es nicht.
Wenn javascript jede Seite nach einen Wort durchsuchen soll wird es ewig dauern.
Also würde ich Datenbank empfehlen ,oder vieleicht noch php ,aber das wäre auch nicht optimal.

Beispiellinks folgen später,damit du siehst was ich meine
 
oh ja . Das geht zwar mit javascript,weil ich das auch mal gemacht habe ,ist aber nicht gerade das schnellste.
Du willst deine eigene Homepage durchsuchen lassen ?
Dann solltest du es mit datenbank machen.
Ich muß mal suchen wo ich die javascript suche habe,dann kannst su mal sehen wie der unterschied ist wenn du meine homepage durchsuchst.
Mit datenbank dauert das unter 1 sekunden und mit javascript mehrere Sekunden.
Du könntest zwar vorher für jede Seite suchwörter festlegen und dann in arrays speichern,was die Suche schneller machen würde,aber wenn eiiner ein suchwort eingibt was nicht im array steht geht es nicht.
Wenn javascript jede Seite nach einen Wort durchsuchen soll wird es ewig dauern.
Also würde ich Datenbank empfehlen ,oder vieleicht noch php ,aber das wäre auch nicht optimal.

Beispiellinks folgen später,damit du siehst was ich meine

Okay schonmal vielen Dank für deine Antwort :)
 
Werbung:
uiii... hübsch! Ein Eingabeformular... was soll uns das sagen?
Und was macht der Meta-Tag da? Wenn du schon einem Element ein 'itemprop' zuweisen willst, dann solltest du es auch richtig machen - ansonsten weg damit! Versuche mal deinen Codeschnipsel zu validieren.
Aber zu deiner Frage. Ein paar mehr Informationen wären sinnvoll.
Was soll denn durchsucht werden? Eine komplette Internetsite... eine einzelne Datei (txt, html, php....) ... eine Datenbank? Willst du das manuell festlegen - oder wie hast du dir das gedacht?
Wie soll das Ergebnis dargestellt werden? Nur anzeigen zB 5 mal gefunden... oder jeweils ein Link zur Fundstelle... oder einen Textausschnitt der Fundstelle?
Bitte lass uns nicht raten, sondern stelle Fragen, die man auch beantworten kann, ohne dass es nachher heißt... so habe ich das nicht gemeint!
 
uiii... hübsch! Ein Eingabeformular... was soll uns das sagen?
Und was macht der Meta-Tag da? Wenn du schon einem Element ein 'itemprop' zuweisen willst, dann solltest du es auch richtig machen - ansonsten weg damit! Versuche mal deinen Codeschnipsel zu validieren.
Aber zu deiner Frage. Ein paar mehr Informationen wären sinnvoll.
Was soll denn durchsucht werden? Eine komplette Internetsite... eine einzelne Datei (txt, html, php....) ... eine Datenbank? Willst du das manuell festlegen - oder wie hast du dir das gedacht?
Wie soll das Ergebnis dargestellt werden? Nur anzeigen zB 5 mal gefunden... oder jeweils ein Link zur Fundstelle... oder einen Textausschnitt der Fundstelle?
Bitte lass uns nicht raten, sondern stelle Fragen, die man auch beantworten kann, ohne dass es nachher heißt... so habe ich das nicht gemeint!


Okay du hasst Recht.
Also ich wollte das so ähnlich wie auf der Webseite (ist jetzt nur ein Beispiel) ideale.de.
Dort kann man nach zum Beispiel einem Produktnamen suchen.
Anschließend wird man auf eine weitere Webseite geleitet wo dann die Produkte passend zur Eingabe gezeigt werden.
Wenn es irgend wie möglich ist ohne Datenbank, also php.
Wenn noch irgendwas an Informationen fehlen sag einfach bescheid. :)
 
Willst du Goo...le Konkurrenz machen? Aber neee... sowas ist deutlich zu anspruchsvoll, um das mal eben so hier im Forum zu beantworten... und ohne PHP und Datenbank schon mal gar nicht.
Wenn es zB nur um deine eigene Website ginge, die zu durchsuchen ist, dann wäre die Sache einfacher zu realisieren.
 
Werbung:
Wir können dir aber auf deiner Seite ein suchfeld eibauen wo du ein Suchwort eingibst und dann automatisch die ergebnisse von Google anzeigen lassen.Bzw auf der ergebniss Seite von Google weiterleitem.
Das würde dann so aussehen
http://sebastian1012.bplaced.net/homepagebasti1012/forumscripte/google_suche.php

Nur wie weit das erlaubt ist weiß ich nicht.
Deswegen lösche ich die Seite später wenn du es gesehen hast
 
Zuletzt bearbeitet:
Hallo ich wollte mal frage wie geht das, Das dass Suchergebnis abgespeichert wird mit link der Internetseite in einer TXT.

Ich suche das gerade im Internet auch hier im Forum aber bin leider nicht fündig geworden.
 
Du hast im falschen Thema geantwortet aber macht ja nix.
In mein fall geht das mit PHP und file_put_contents()
 
Werbung:
Willst du Goo...le Konkurrenz machen? Aber neee... sowas ist deutlich zu anspruchsvoll, um das mal eben so hier im Forum zu beantworten... und ohne PHP und Datenbank schon mal gar nicht.
Wenn es zB nur um deine eigene Website ginge, die zu durchsuchen ist, dann wäre die Sache einfacher zu realisieren.
es geht doch nur um meine Webseite?!
 
ja das geht. Das schrieb ich ja in #2
Wenn dann mit datenbank ,was an schnellsten wäre.
Oder php.
oder javascript was am längsten dauern würden,auser du hast suchwörter vorher für jede Seite als array hinterlegt
 
Dann solltest du dich als Erstes mal ein wenig mit PHP vertraut machen, wenn du das nicht eh schon kannst.
Sobald du deinen Suchbegriff mit deinem Formular an die 'test.php' übermittelt hast, kannst du mit der Suche anfangen. Bitte merke... es ist nicht mehr deine 'test.html', mit HTML kommst du hier nicht weiter, hier ist jetzt PHP gefragt und das fängt schon bei der Namensgebung an.
Sobald du deinen Suchbegriff mit $_GET['q'] eingelesen hast, kannst du jede Datei deiner Seite darauf hin überprüfen, ob der Suchbegriff darin enthalten ist. Wie du dann die Fundstelle(n) auf der Seite als Ausgabe präsentierst, musst du dir dann noch einfallen lassen.
Es macht aber wenig Sinn, mit beliebigen Suchbegriffen zu arbeiten. Du solltest eine Liste mit zulässigen Begriffen erstellen und nur suchen, wenn ein gültiger Suchbegriff eingegeben wird - oder, vielleicht sogar besser, zu jedem Suchbegriff einen Liste der zugehörigen Fundstellen schon fertig haben und beim Aufruf gar nicht mehr auf der Seite suchen, sondern nur die Liste abarbeiten.
 
Werbung:
ja das geht. Das schrieb ich ja in #2
Wenn dann mit datenbank ,was an schnellsten wäre.
Oder php.
oder javascript was am längsten dauern würden,auser du hast suchwörter vorher für jede Seite als array hinterlegt

Du meintest das du damals ein schon ein Javascript Suchfunktion geschrieben hast.
Ist es vllt. möglich diese zu bekommen?
Wäre ultra Nett! :)
Wenn nicht versuche ich es mahl mit den Datenbanken.
 
Such ich mal raus.
Aber wie gesagt wenn du nach einen Wort auf dein Ganzen Server suchen willst wird das ewig dauern.
Javascript muß ja jedes document öffnen dann nach den Wort suchen und dann zur nächsten Datei.
Wenn du zb 100 Seiten hast die Javascript durchsuchen soll,wird da schon einige Sekunden vorbei gehen.
Datenbank wäre das beste.
Wie soll den die Suche ablaufen?
Auf den ganzen Server mit unterordner?
Jedes beliebige Suchwort ,oder willst du vorher eine Datei erstellen wo du jede Seite bestimmten Suchwörter kriegt? Wäre dann fast genau so schnell wie Datenbank.
Ich suche das Script mal raus und speicher das in einen Ordner der nicht so voll ist( Sonst sucht der ewig ) ,damit du mal siehst wie der Unterschied ist,zwischen JS und datenbank
 
Such ich mal raus.
Aber wie gesagt wenn du nach einen Wort auf dein Ganzen Server suchen willst wird das ewig dauern.
Javascript muß ja jedes document öffnen dann nach den Wort suchen und dann zur nächsten Datei.
Wenn du zb 100 Seiten hast die Javascript durchsuchen soll,wird da schon einige Sekunden vorbei gehen.
Datenbank wäre das beste.
Wie soll den die Suche ablaufen?
Auf den ganzen Server mit unterordner?
Jedes beliebige Suchwort ,oder willst du vorher eine Datei erstellen wo du jede Seite bestimmten Suchwörter kriegt? Wäre dann fast genau so schnell wie Datenbank.
Ich suche das Script mal raus und speicher das in einen Ordner der nicht so voll ist( Sonst sucht der ewig ) ,damit du mal siehst wie der Unterschied ist,zwischen JS und datenbank

Ich hab mich grade mal dran gesetzt und was geschrieben:
Code:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0;"> 
  <title>Suchfunktion</title>

</head>
<body>


<script>
        'use strict';
        function init() {
          var name = prompt('Bitte nennen sie ein Produktname','');
          
          var ergebnis = name.search(/Iphone.+/);
          if (ergebnis != -40) {
            var text = document.write('<b>Ausgabe für Iphone</b>');
            
          }
          else {
         var text = 'Dieses Produkt ist nicht vorhanden.';
          } 
          ausgabe(text);
        }
        
        
        function ausgabe(text){
          var ausgabe = document.getElementById('info');
          ausgabe.innerHTML = text;
        }
        
        document.addEventListener('DOMContentLoaded', init);
        
          </script> 


<main>
        <p id="info"></p>
     </main>



</body>
</html>

Das Problem ist, ich würde gerne diese Abfrage nach dem Produkt nicht mit dem prompt Befehl machen, sondern mit einem Text Input Feld aber irgendwie schaff ich das nicht.
Könntest du mir da vllt. weiter helfen?
 
Werbung:
Das Problem ist, ich würde gerne diese Abfrage nach dem Produkt nicht mit dem prompt Befehl machen, sondern mit einem Text Input Feld aber irgendwie schaff ich das nicht.
Könntest du mir da vllt. weiter helfen?

könnte man so machen.
HTML:
 <!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0;">
  <title>Suchfunktion</title>
 
</head>
<body>
  <input type="text" id="textfeld" placeholder="suche"><input type="button" id="suche"  value="suche  starten">
 
<script>
 
        function init() {
name=document.getElementById('textfeld').value;

          var ergebnis = name.search(/Iphone.+/);
          if (ergebnis != -40) {
            var text = document.write('<b>Ausgabe für Iphone</b>');
       
          }
          else {
         var text = 'Dieses Produkt ist nicht vorhanden.';
          }
          ausgabe(text);
        }
   
   
        function ausgabe(text){
          var ausgabe = document.getElementById('info');
          ausgabe.innerHTML = text;
        }
 document.getElementById("suche").addEventListener("click", init);  

   
          </script>
 
 
<main>
        <p id="info"></p>
     </main>
 
 
 
</body>
</html>

Einfacher wäre es mit Jquery
und document.write() ist auch nicht mehr zu empfehlen.Mach es lieber mit der id wie du es bei info auch machst.

EDIT:
Hier mal mit jquery
HTML:
 <!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0;">
  <title>Suchfunktion</title>
 <script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
</head>
<body>
  <input type="text" id="textfeld" placeholder="suche"><input type="button" id="suche"  value="suche  starten">
<script>
        $('#suche').click(function(){
name=$('#textfeld').val();
          var ergebnis = name.search(/Iphone/);
          if (ergebnis != -1) {
           $('#info').html('<b>Ausgabe für Iphone</b>');
          }else {
         $('#info').html('Dieses Produkt ist nicht vorhanden.');
          }
        });
          </script>
<p id="info"></p>
</body>
</html>

Wie du siehst kürzer und macht genau das gleiche
 
Zuletzt bearbeitet:
Werbung:
könnte man so machen.
HTML:
 <!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0;">
  <title>Suchfunktion</title>
 
</head>
<body>
  <input type="text" id="textfeld" placeholder="suche"><input type="button" id="suche"  value="suche  starten">
 
<script>
 
        function init() {
name=document.getElementById('textfeld').value;

          var ergebnis = name.search(/Iphone.+/);
          if (ergebnis != -40) {
            var text = document.write('<b>Ausgabe für Iphone</b>');
      
          }
          else {
         var text = 'Dieses Produkt ist nicht vorhanden.';
          }
          ausgabe(text);
        }
  
  
        function ausgabe(text){
          var ausgabe = document.getElementById('info');
          ausgabe.innerHTML = text;
        }
 document.getElementById("suche").addEventListener("click", init); 

  
          </script>
 
 
<main>
        <p id="info"></p>
     </main>
 
 
 
</body>
</html>

Einfacher wäre es mit Jquery
und document.write() ist auch nicht mehr zu empfehlen.Mach es lieber mit der id wie du es bei info auch machst.

EDIT:
Hier mal mit jquery
HTML:
 <!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0;">
  <title>Suchfunktion</title>
 <script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
</head>
<body>
  <input type="text" id="textfeld" placeholder="suche"><input type="button" id="suche"  value="suche  starten">
<script>
        $('#suche').click(function(){
name=$('#textfeld').val();
          var ergebnis = name.search(/Iphone/);
          if (ergebnis != -1) {
           $('#info').html('<b>Ausgabe für Iphone</b>');
          }else {
         $('#info').html('Dieses Produkt ist nicht vorhanden.');
          }
        });
          </script>
<p id="info"></p>
</body>
</html>

Wie du siehst kürzer und macht genau das gleiche

Super hat funktioniert Vielen Dank :)
 
könnte man so machen.
HTML:
 <!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0;">
  <title>Suchfunktion</title>
 
</head>
<body>
  <input type="text" id="textfeld" placeholder="suche"><input type="button" id="suche"  value="suche  starten">
 
<script>
 
        function init() {
name=document.getElementById('textfeld').value;

          var ergebnis = name.search(/Iphone.+/);
          if (ergebnis != -40) {
            var text = document.write('<b>Ausgabe für Iphone</b>');
      
          }
          else {
         var text = 'Dieses Produkt ist nicht vorhanden.';
          }
          ausgabe(text);
        }
  
  
        function ausgabe(text){
          var ausgabe = document.getElementById('info');
          ausgabe.innerHTML = text;
        }
 document.getElementById("suche").addEventListener("click", init); 


ei

  
          </script>
 
 
<main>
        <p id="info"></p>
     </main>
 
 
 
</body>
</html>

Einfacher wäre es mit Jquery
und document.write() ist auch nicht mehr zu empfehlen.Mach es lieber mit der id wie du es bei info auch machst.

EDIT:
Hier mal mit jquery
HTML:
 <!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0;">
  <title>Suchfunktion</title>
 <script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
</head>
<body>
  <input type="text" id="textfeld" placeholder="suche"><input type="button" id="suche"  value="suche  starten">
<script>
        $('#suche').click(function(){
name=$('#textfeld').val();
          var ergebnis = name.search(/Iphone/);
          if (ergebnis != -1) {
           $('#info').html('<b>Ausgabe für Iphone</b>');
          }else {
         $('#info').html('Dieses Produkt ist nicht vorhanden.');
          }
        });
          </script>
<p id="info"></p>
</body>
</html>

Wie du siehst kürzer und macht genau das gleiche
Eine Frage ist mir grade noch eingefallen, wie mache ich das mit verschiedenen Keywords.
Also wenn ich nach iPhone suche kommt das Ergebnis und wenn ich nach Samsung suche kommt ein anderes Ergebnis?
 
Zurück
Oben