php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.10.2006, 16:21  
Neuer Benutzer
 
Registriert seit: 19.01.2006
Beiträge: 10
MeisterGlanz
Standard Suche: 1 Begriff über x Felder suchen

Hallo,

ich habe ein aehnliches Problem wie in dem Thread unter (ueber?) mir. Ich habe genau ein input Feld, in dem man genau einen sting eintraegt und mit dem moechte ich in allen Feldern der aktuellen Tabelle suchen.

Code:
SELECT customers_id, customers_hid, customers_company, CONCAT(customers_lastname,", ", customers_firstname) AS customers_name, address_book_city FROM customers,address_book WHERE customers_address_book_id = address_book_id && customers_waste = 0 && customers_company like (\'%'.$search.'%\') || customers_address_book_id = address_book_id && customers_waste = 0 && customers_lastname like (\'%'.$search.'%\') || customers_address_book_id = address_book_id && customers_waste = 0 && customers_firstname like (\'%'.$search.'%\') || customers_address_book_id = address_book_id && customers_waste = 0 && address_book_city like (\'%'.$search.'%\')
query ist etwas per Hand zusammen gebastelt, aber er geht. Meine Frage ist nun: Gibt es eine Moeglichkeit die Redundanz im WHERE Teil zu beseitigen, sodass ich "customers_address_book_id = address_book_id && customers_waste = 0" nur einmal schreiben muss und kann ich statt den Feldnamen anzugeben ein Wildcard benutzen um in allen Feldern zu suchen?
MeisterGlanz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.10.2006, 16:57  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Code:
WHERE
  (customers_address_book_id = address_book_id AND customers_waste = 0)
  AND 
  (bedingungX OR bedingungY OR ..)
Eine Wildcard-Spalte für "alle Spalten" gibt es nicht.
Zergling-new ist offline   Mit Zitat antworten
Alt 12.10.2006, 23:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

du kannst auch alles per CONCAT verknüpfen und dann mit LIKE durchsuchen...
nikosch ist offline   Mit Zitat antworten
Alt 13.10.2006, 00:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dann kannst du aber Verknüpfungsergebnisse erzeugen, die du nicht erwartest.
Zergling-new ist offline   Mit Zitat antworten
Alt 13.10.2006, 03:05  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

er kann ja ein leerzeichen dazwischenknüpfen oder ne raute
nikosch ist offline   Mit Zitat antworten
Alt 13.10.2006, 10:37  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Kann er, trotzdem unsauber. Also wozu verknüpfen? Damit das SQL-Statement lesbarer wird? Kein Argument..
Zergling-new ist offline   Mit Zitat antworten
Alt 13.10.2006, 13:49  
Neuer Benutzer
 
Registriert seit: 19.01.2006
Beiträge: 10
MeisterGlanz
Standard

@Zergling: thx, das wars was ich wollte.
MeisterGlanz 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
Verbesserungsvorschläge: Design und Suche Manko10 Board-Support 3 15.06.2008 16:21
Suche in Office Dateien mit Index Beatbox Off-Topic Diskussionen 6 09.02.2007 15:34
Suche mit variabler Suchbegriffanzahl in MySQL Datenbank webbi Datenbanken 5 12.10.2006 17:06
Suche Alienuser PHP Tipps 2006 5 02.07.2006 16:31
suche funktion: suche alles zwischen notyyy PHP Tipps 2006 7 05.06.2006 20:46
suche tutorial: FORMULAR FELDER AUF INHALT PRÜFEN PHP Tipps 2006 7 25.01.2006 19:14
[Erledigt] Erweiterung der Suche PHP Tipps 2007 2 01.12.2005 19:30
Suche in Datenbank realisieren Unbekanntes_Pferd PHP Tipps 2007 4 09.11.2005 16:22
[Erledigt] Große Felder wie TEXT auslagern? Datenbanken 9 26.10.2005 20:22
Formularauswertung: Leere Felder anzeigen maeck PHP Tipps 2005-2 1 18.09.2005 21:42
Suche MySQL Funktion zum Verbinden 2er Felder R4v3r Datenbanken 2 12.07.2005 23:49
mal wieder eine suche lomtas Datenbanken 0 12.07.2005 11:03
Suche Job als Entwickler/Designer (Raum Bonn o. Telearbeit) Beitragsarchiv 23 01.03.2005 14:00
leere felder entfernen PHP Tipps 2007 14 04.01.2005 10:59

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
begriff like <=begriff mit php, sql 2005 feldersuchen

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.