php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.04.2011, 23:54  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von marckannisgut Beitrag anzeigen
Wie mach ich das denn mit der Variable ?
Wie ich vorhin schon sagte - am besten erst mal ohne:
Zitat:
Überlege dir zuerst, wie die Query aussehen muss - ohne schon an PHP-Code zu denken.
Also, baue dir die korrekte SQL-Query auf, um nach mehreren Stichworten zu suchen.

Wenn du die hast, kannst du dich im nächsten Schritt daran machen, sie dynamisch aus einer variablen Eingabe mit PHP zusammen zu bauen.

Wenn du an zwei Baustellen gleichzeitig herum bastelst, dann fällt es dir auch schwerer zu erkennen, auf welcher von beiden die Ursache für fehlerhaftes Verhalten liegt.
Also: Eins nach dem anderen.

Zitat:
Kannst du mir nicht einfach sagen was ich anpassen soll
Nö.
Du hast dir in den Kopf gesetzt, „eine Online-Verkaufs-Plattform zu erstellen.“
Die Erkenntnis, dass du dich damit übernommen hast, und dass du dich vielleicht erst mal noch ein bisschen mehr mit den Grundlagen beschäftigen solltest, möchte ich dir nicht nehmen ...
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.04.2011, 00:19  
Benutzer
 
Registriert seit: 05.11.2010
Beiträge: 48
PHP-Kenntnisse:
Anfänger
marckannisgut zeigte ein beschämendes Verhalten in der Vergangenheit
marckannisgut eine Nachricht über ICQ schicken marckannisgut eine Nachricht über Skype™ schicken
Standard

PHP-Code:
$search $_GET['search'];
    
$search str_replace(" ""%"$search);
    
$sql mysql_query("SELECT * FROM products WHERE `name` LIKE '%$search%' OR `keywords` LIKE '%$search%' OR `beschreibung` LIKE '%$search%'"); 
Ich habe den Code nun so angepasst und er funktioniert!
Ich danke euch zunächst sehr für eure hilfe.
Ist der Code so auch okay?
Wenn was nicht okay ist bitte ich um eine Antwort
__________________
Mein neues Projekt:
Social Release
http://socialrelease.zapto.org/

Geändert von marckannisgut (24.04.2011 um 00:39 Uhr).
marckannisgut ist offline   Mit Zitat antworten
Alt 24.04.2011, 11:42  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Prima rausgetüddelt bisher!

PHP-Code:
$search str_replace(" ""%"$search); 
ist noch falsch. Warum willst du Leerzeichen mit % ersetzen, wenn die % schon im Querystring drin sind.
PHP-Code:

$search 
trim($search); 
entfernt Leerzeichen hinten und vorne.

Deine Lösung funktioniert aber nur solange, bis man als Suchbegriff z.B. so was eingibt:

O'Hara
s'Gravenhage
Andrea's Wollstüberl
"Jack the Ripper"

Die Hochkommata zerstören deinen Querystring (probier es aus) und daher müssen alle Strings, die aus usereingaben stammen escaped werden:
http://de.php.net/manual/de/function...ape-string.php
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 24.04.2011, 13:57  
Benutzer
 
Registriert seit: 05.11.2010
Beiträge: 48
PHP-Kenntnisse:
Anfänger
marckannisgut zeigte ein beschämendes Verhalten in der Vergangenheit
marckannisgut eine Nachricht über ICQ schicken marckannisgut eine Nachricht über Skype™ schicken
Standard

$search = $_GET['search'];
$search = str_replace(" ", "%", $search);
$search = str_replace("'", "", $search);
mysql_real_escape_string($search,$link);
$search = trim($search);
$sql = mysql_query("SELECT * FROM products WHERE `name` LIKE '%$search%' OR `keywords` LIKE '%$search%' OR `beschreibung` LIKE '%$search%'");

So okay ? $link ist die verbindung zur datenbank also: mysql_connect("host","user","passwort")

Geändert von marckannisgut (24.04.2011 um 14:31 Uhr).
marckannisgut ist offline   Mit Zitat antworten
Alt 24.04.2011, 16:57  
Benutzer
 
Benutzerbild von m0dpad
 
Registriert seit: 20.03.2011
Beiträge: 49
PHP-Kenntnisse:
Fortgeschritten
m0dpad befindet sich auf einem aufstrebenden Ast
Standard

Benutze lieber die MySQL interne Volltextsuche mit MATCH (xy) AGAINST('abc') . Zum anderen, geht der Platzhalter % VOR dem eigentlichen Suchbegriff extrem auf die Performance. Bei einer Suche legt man eigentlich einen Index an, d.h. man durchsucht eigentlich keinen Text als solchen, sondern speichert bei der Indexerstellung, welches Wort in welchem Text vorkommt.

Ein gutes Tutorial dazu findest du hier http://www.phpbar.de/w/Volltextsuche
__________________
Staticfloat
m0dpad ist offline   Mit Zitat antworten
Alt 25.04.2011, 19:11  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

#13 nicht gelesen?
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 25.04.2011, 22:11  
Benutzer
 
Registriert seit: 05.11.2010
Beiträge: 48
PHP-Kenntnisse:
Anfänger
marckannisgut zeigte ein beschämendes Verhalten in der Vergangenheit
marckannisgut eine Nachricht über ICQ schicken marckannisgut eine Nachricht über Skype™ schicken
Standard

ich danke euch für eure hilfe es funktioniert so wie ich es haben möchte danke
marckannisgut ist offline   Mit Zitat antworten
Antwort


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
Textdatei nach Hosts selektieren DDinler PHP Einsteiger 6 15.03.2011 15:17
[Erledigt] Problem mit "for" Schleife kay899 PHP Einsteiger 8 12.02.2011 12:26
[Erledigt] Keywords aus Referrer der Suchmaschine auslesen. Speziell Google Bildersuc spielzeug PHP Einsteiger 5 29.11.2010 00:09
Design einer DB für mehrsprachigkeit Squall Software-Design 35 08.10.2010 13:09
[Erledigt] Bereich einer Array lässt sich nicht ausgeben Polliny PHP Tipps 2010 54 21.06.2010 15:30
Datenbankdesign für Keywords monk Datenbanken 2 19.01.2010 21:03
[Erledigt] Table erstellen mit variablem Name Rutor PHP Tipps 2009 10 07.01.2010 12:52
mehrere select count zusammen fassen reddevil82 PHP Tipps 2009 9 03.05.2009 21:45
Array umwandeln von zwei zu mehrdimensional erselbst PHP Tipps 2009 6 02.04.2009 23:30
[Erledigt] MYSQL name nicht $user Marti95. PHP Tipps 2009 3 08.03.2009 17:35
Name suchen in My SQL und in php ausgeben nina123 PHP Tipps 2008 6 10.12.2008 11:10
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
[Erledigt] Bild anzeigen, wenn ein bestimmter Name aus MySQL gelesen wird AJ79 Datenbanken 3 15.07.2008 13:16
Problem mit einfachem Mail()-Skript PHP Tipps 2005-2 5 08.10.2005 17:39


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:42 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