php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.12.2008, 10:48  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard [Erledigt] Suche in Mysql genauer machen

Hallo Leute und schönen 3 Advent.

Und zwar ist mir grad aufgefallen das ich ein Problem bei meiner Shopsuche habe. Habe auch schon gegoogelt und im Handbuch geschaut aber nicht wirklich was hilfreieches gefunden.

Ich hbae zum Beispiel zwei Nokia Handys im Sortiment ein Nokia 5110 und ein Nokia 5230.

So wenn ich nun in die Suche eingebe das Handy Nokia 5230 dann bringt der mir auch das Nokia 5110. Wenn ich nun aber nur 5230 ohne das Wort Nokia eingebe dann bringt er mir gewünscht nur das Nokia 5230.

Wie kann ich es machen das wenn Nokia 5230 eingegeben wird auch nur dieses erscheint und kein anderes Nokia?

Hier mein momentaner Code.

PHP-Code:
if(isset($_POST['suche_x']) && isset($_POST['suche_y']))
  {
   
$sqlbefehl ="
      Select
       a.id_artikel,
       a.cat_id,
       a.art_name,
       a.art_nummer,
       a.status,
       a.mwst,
       a.preis_euro,
       a.preis_dollar,
       a.preis_sfr,
       a.bestand,
       a.gewicht,
       a.angebot,
       a.lieferzeit,
       a.hersteller,
       a.artikel_bild,
       a.farbe,
       a.groese,
       k.id_cat,
       k.cat_name
      From
       artikel a
      Left Join
       kategorien k
      ON
       (a.cat_id = k.id_cat)
      Where
       MATCH (art_name) AGAINST ('"
.mysql_real_escape_string($_POST['suchtext'])."' IN BOOLEAN MODE)
      OR
       MATCH (cat_name) AGAINST ('"
.mysql_real_escape_string($_POST['suchtext'])."' IN BOOLEAN MODE)
      "
;
   
$erg_suche mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
   while(
$suche mysql_fetch_assoc($erg_suche)){
    include(
'suche_list.php');
   }
//ende while
  
}//ende isset suche 
Danke für eure Tipps und hilfe.

mfg der litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.12.2008, 11:02  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

MySQL :: MySQL 5.1 Reference Manual :: 11.8.2 Boolean Full-Text Searches
Zitat:
The + and - operators indicate that a word is required to be present or absent, respectively, for a match to occur.
...
[no operator] implies OR
Wenn Du also
Code:
MATCH (...) AGAINST ('Nokia 5230')
hast, bedeutet das [i]Nokia or 5230[/code]
David ist offline  
Alt 14.12.2008, 11:19  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Wie kann ich das aber nun genauer machen? Weil ich ja den Wert aus einem Postfeld bekomme.

Wäre da eine Lösung den String aus dem Postfeld mit explode aufzulösen oder gibts etwas eleganteres?
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 14.12.2008, 11:22  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
oder gibts etwas eleganteres?
Nicht dass ich wüsste...
Aber lies Dir doch einfach mal die Doku durch.
David ist offline  
Alt 14.12.2008, 11:37  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Die Doku habe ich mir ja durchgelesen darum fragte ich nach und den Post String per explode aufzulösen scheint mir da die beste Lösung.

Nur eben kann es dann das Problem geben weil ja da nur das 5230 ausgewertet wird,wenn es nun ein Samsung 5230 gibt dann würde es das auch anzeigen. Weist wie ich meine?

Das ist das einzige was mir da Kopfzerbrechen bereitet.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 14.12.2008, 11:40  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von litterauspirna
Weist wie ich meine?
Nö, verstehe ich nicht.
Wenn ich nur 5230 eintippe und es gibt ein "Nokia 5230" und ein "Samsung 5230" dann erwarte ich doch beide Suchergebnisse oder etwa nicht?
David ist offline  
Alt 14.12.2008, 11:59  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Nun bleibt noch das Problem wenn er Nokia 5230 eingibt das er auch andere Nokias bringt. Irgendwie ein kleiner Teufelskreis.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 14.12.2008, 12:34  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

PHP-Code:
echo '<pre>Debug: 'htmlspecialchars($sqlbefehl), "</pre>\n";
$erg_suche mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl); 
Wie sieht eine konkrete Abfrage aus?
David ist offline  
Alt 14.12.2008, 13:32  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Das sieht dann so aus

Code:
Where
							MATCH (art_name) AGAINST ('Nokia 5320' IN BOOLEAN MODE)
						OR
							MATCH (cat_name) AGAINST ('Nokia 5320' IN BOOLEAN MODE)
Also steht drin was ich erwarte aber er bringt eben das Nokia 5110 auch mit.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 14.12.2008, 13:37  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Also kein +, keine anderen Operatoren, also
Zitat:
[no operator] implies OR
David ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySql Suche über verschiedene Tabellen - Ergebnis dabei reduzieren padrone Datenbanken 0 04.11.2008 18:43
[Erledigt] Suche Unterstützung (Freiberufler) für ein PHP - Mysql Projekt Stefano Beitragsarchiv 0 19.10.2008 09:58
MySQL: Suche über mehrere Tabellen und Sortierung Dongle Datenbanken 4 15.10.2008 12:16
Suche (MATCH) mit MYSQL ruferp Datenbanken 1 10.09.2007 22:06
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Suche Webspace mit PHP MySQL für PhpOpenChat webmaster_andre Beitragsarchiv 2 05.09.2005 20:19
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Suche PHP & MySQL Programmierer Beitragsarchiv 4 11.08.2005 17:12
Suche Progger PHP, PERL, MYSQL, C++usw.. und Designer,Flash Beitragsarchiv 1 28.06.2005 17:12
Suche Php(evt Mysql) Leute Beitragsarchiv 14 12.12.2004 15:15
Suche MySQL referenz Datenbanken 2 17.11.2004 14:04
Suche Programmierer mit php und MySqL kenntnissen! Beitragsarchiv 30 01.11.2004 13:16
suche php mysql programmierer Beitragsarchiv 28 27.10.2004 10:14
Suche PHP / MySQL Spezialisten für Spezialprojekt, $$ Beitragsarchiv 17 27.08.2004 12:55
Suche php, mysql künstler Beitragsarchiv 0 11.08.2004 22:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql fulltext alternative zu n boolean mode, mysql versandzeit -email -e-mail

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum