Antworten auf deine Fragen:
Neues Thema erstellen

Volltextsuche in PHP für MySQL (Werte und Implode)

Ben78

Nicht mehr ganz neu hier

AW: Volltextsuche in PHP für MySQL (Werte und Implode)

Hey Leutz,

ich habe jetzt folgende Zeile im Skript:

PHP:
$sql .=  " AND Marke = '%" . mysql_real_escape_string($marke) . "%'";
}

zu folgender umgewandelt:

PHP:
$sql .=  " AND Marke LIKE '%" . mysql_real_escape_string($marke) . "%'";
}

...Und jetzt funzt das ganze schon viel besser. Jetzt kann ich GLEICHZEITIG nach einer Sucheingabe im Textfeld und einer Marke aus dem Sprungmenü suchen.

Das einzige was noch nicht funzt ist folgendes Zitat

Könnte es vielleicht daran liegen, dass sich in der "Against" Klammer AGAINST('Produktfinder') das Wort "Produktfinder" befindet und die Suma nach "Produktfinder" sucht und deshalb 0 Suchergebnisse aus der Tabelle Liefert?

Also wenn Textfeld unberührt bleibt und nur nach einer Marke aus dem Sprungmenü gesucht werden soll, werden 0 Ergebnisse geliefert. Würde ich da mit Verwendung einer Stoppwortliste richtig liegen? Also wenn ich das Wort "Produktfinder" in eine Stoppwortliste setze, sodass die SUMA nicht mehr nach diesem Wort "Produktfinder" sucht um das Prob zu lösen?!?

So sieht der Abschnitt des Codes für das Texteingabefeld aus:

PHP:
echo '<form action="./mysql/search-fulltext1.php" method="post">'; 
 echo '<div id="search-mysql">'; 
 echo '<input type="text" name="suche" size="20" '; 
 echo "onfocus=\"if (this.value =='Produktfinder') { this.value=''}\" "; 
 echo "onblur=\"if (value == '') {value='Produktfinder'}\" value=\"Produktfinder\" />";...
 
Zuletzt bearbeitet:

lachender_engel

Aktives Mitglied

AW: Volltextsuche in PHP für MySQL (Werte und Implode)

Das einzige was noch nicht funzt ist folgendes Zitat

Also wenn Textfeld unberührt bleibt und nur nach einer Marke aus dem Sprungmenü gesucht werden soll, werden 0 Ergebnisse geliefert. Würde ich da mit Verwendung einer Stoppwortliste richtig liegen? Also wenn ich das Wort "Produktfinder" in eine Stoppwortliste setze, sodass die SUMA nicht mehr nach diesem Wort "Produktfinder" sucht um das Prob zu lösen?!?

Wenn Du keine Eingabe in das Textfeld tätigst aber eine Marke auswählst sieht die Query immer noch so aus:

Code:
[B]SELECT * FROM test WHERE MATCH (Bezeichnung, Beschreibung, Marke)  AGAINST('Produktfinder') AND Marke LIKE '%Adidas%'[/B]

Die Query muss in dem Fall aber dann so aussehen:

Code:
[B]SELECT * FROM test WHERE Marke LIKE '%Adidas%'[/B]
Dann bekommst Du auch ein Ergebnis.

Du musst also Deine Query "zerteilen" und mit entsprechenden if-Anweisungen zusammenbauen.
Also so:

PHP:
$sql = "SELECT * FROM test WHERE";

if ($suchwort) $sql .= " MATCH (Bezeichnung, Beschreibung, Marke)  AGAINST('Produktfinder')";

if ($marke) 
   {
   if ($suchwort) $sql .= " AND";
  $sql .=  " Marke = '%" . mysql_real_escape_string($marke) . "%'"; "
   }
 
Zuletzt bearbeitet:

Ben78

Nicht mehr ganz neu hier

AW: Volltextsuche in PHP für MySQL (Werte und Implode)

Eine Zerteilung wie beschrieben bringt bei unberührtem Texteingabefeld trotzdem die selbe Query mit dem Wort "Produktfinder" in der Against-Klammer. Also folgende:
SELECT * FROM test WHERE MATCH (Bezeichnung, Beschreibung, Marke) AGAINST('Produktfinder') AND Marke LIKE '%Adidas%'

auch wenn ich an Stelle von
PHP:
$sql = "SELECT * FROM test WHERE";

if ($suchwort) $sql .= " MATCH (Bezeichnung, Beschreibung, Marke)  AGAINST('Produktfinder')";
...das hier mache:
PHP:
$sql = "SELECT * FROM test WHERE";

if ($suchwort) $sql .= " MATCH (Bezeichnung, Beschreibung, Marke)  AGAINST('" . mysql_real_escape_string($suchwort) . "')";
und nicht die gewünschte Querey wie folgt:
SELECT * FROM test WHERE Marke LIKE '%Adidas%'
 

Ben78

Nicht mehr ganz neu hier

AW: Volltextsuche in PHP für MySQL (Werte und Implode)

Ich glaue jetzt habe ich's. In der Übernahme gleich am Anfang habe ich folgendes gemacht:
PHP:
$suchwort = (isset($_POST['suche']) AND $_POST['suche'] != 'Produktfinder') ? trim($_POST['suche']) : '';
und es scheint endlich zu klappen.:D

Aber noch bin mir nicht ganz sicher
 

Ben78

Nicht mehr ganz neu hier

AW: Volltextsuche in PHP für MySQL (Werte und Implode)

@lachender_engel & @Sharkandy

VERY BIG THX für Eure Hilfe!!!
 

lachender_engel

Aktives Mitglied

AW: Volltextsuche in PHP für MySQL (Werte und Implode)

Wenn Du Dir nicht sicher bist, dann mein Tipp:
Gehe die Entwicklung von hinten an.
Also, entwickle erst mal die SQL-Query und teste diese z.B. mit phpMyAdmin.
Wenn dann von Seiten der Datenbank alles so klappt, wie Du es willst, kannst Du es in PHP umsetzen und mit der visuellen Ausgabe von $sql immer prüfen, ob Deine Programmierung den String richtig zusammen baut.
 

Ben78

Nicht mehr ganz neu hier

AW: Volltextsuche in PHP für MySQL (Werte und Implode)

Hi lachender_engel na wie geht's, ich hoffe mal gut!
...vielen Dank für Deinen Tipp. Es hat seit dem alles gepasst mit meiner Suma. Jetzt bin ich gerade drann, sie um eine Blätterfunktion zu erweitern. Ich habe hierzu ein neues Thema [Suma & Blätterfunktion] eröffnet. Ich habe da ein Problem mit dem Blättern. Die Links funzen nicht.
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.635
Beiträge
1.538.476
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben