php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 27-08-2003, 17:10
JogiWebster
 Registrierter Benutzer
Links : Onlinestatus : JogiWebster ist offline
Registriert seit: Jul 2002
Ort: Hamburg, DE
Beiträge: 115
JogiWebster ist zur Zeit noch ein unbeschriebenes Blatt
Standard Volltextsuchergebnis nach Position der Trefferspalten sortieren? geht das?

Hallo liebe Leute,

folgendes Problem:

Ich habe eine umfangreiche Tabelle mit folgender Struktur:
(Auszug aus der Tabelle, es handelt sich eigentlich um eine Tabelle mit 60.000 Einträgen und 30 Spalten)

id | jahr | text1 | text2 | text3 | text4 | text5 | text6 | text7 | text8 | text9
--------------------------------------------------------------------------------------------
1 | 2003 |auto | sport | motor| media| welt | test | reise | tank | flug
2 | 2001 | motor | auto | nett | media| welt | test | reise | tank | flug
3 | 2003 | media | motor| nett | welt | test | reise | tank | flug

Nun mache ich einen select:

PHP-Code:
SELECT FROM tabelle WHERE text1 LIKE '%$suchbegriff%' OR text2 LIKE '%$suchbegriff%' OR  text3 LIKE '%$suchbegriff%' OR  text4 LIKE '%$suchbegriff%' OR  text5 LIKE '%$suchbegriff%' OR  text6 LIKE '%$suchbegriff%' OR  text7 LIKE '%$suchbegriff%' OR  text8 LIKE '%$suchbegriff%' OR  text9 LIKE '%$suchbegriff%' OR  text10 LIKE '%$suchbegriff%' ORDER BY jahr
Nun möchte ich das Suchergebnis bzw. die Ausgabe so sortieren lassen, dass zuerst nach dem Jahr und dann aber nach der Spaltenposition des Treffers sortiert wird.
D.h. Wenn ich nach den string "motor" suche, dann möchte ich folgende Reihenfolge ausgeben:

id 3
id 1
id 2

Ich brauche also eigentlich einen Indexwert der angibt, in welcher Spalte (nummeriert) der string gefunden wurde.
Gibt es dafür eine mysql Funktion/Befehl?
Würde das über eine Temporäre Tabelle oder ein array gehen?
Bitte bedenkt dabei, es handelt sich um ziemlich große Tabelle.

Vielen Dank!

Jogi

Geändert von JogiWebster (27-08-2003 um 17:12 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 27-08-2003, 17:26
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

kurze zwischenfrage zu deinen spalten text1 ff.

wozu sind diese genau?
macht es evtl mehr sinn diese spalten, wenn es denn nur markierungen für rubriken/unterpunkte sind, was ich glaube, in eine separate tabelle zu setzen und diese mit hilfe einer verbindungstabelle mit deiner bisherigen zu verbinden?
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #3 (permalink)  
Alt 27-08-2003, 17:39
JogiWebster
 Registrierter Benutzer
Links : Onlinestatus : JogiWebster ist offline
Registriert seit: Jul 2002
Ort: Hamburg, DE
Beiträge: 115
JogiWebster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein, wenn ich Dich richtig verstanden habe ;-) dann meine ich etwas anderes...

Um das nochmal auf den Punkt zu bringen:

Ich habe eine Tabelle mit ca. 60.000 Zeilen und ca. 30 Spalten, in den Spalten mit den Namen "text..." enzhalten alle Zellen einer Zeile unterschiedliche Informationen (Varchar).
Allerdings kommt es vor, das z.B. in anderen Zeilen eben dieselbe Information auftaucht, wie schon in Zellen anderer Zeilen.

Ich möchte ermitteln, in welcher Spalte der Zeilen der string gefunden wird und dann so sortieren, dass die Zeile, bei der der Begriff in der vordersten Spalte gefunden wird eben auch zuerst ausgegeben wird.

War das verständlicher??

Danke für Deine Mühe!

Jogi
Mit Zitat antworten
  #4 (permalink)  
Alt 27-08-2003, 17:49
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von JogiWebster
War das verständlicher??
naja. nicht wirklich.

aber mit dem, was ich verstanden habe, wirst du es nicht ohne weiteres rausfinden, in welcher spalte was gefunden wurde. das geht zumindest nicht mit nur einer abfrage.

du kannst also nur 30 queries an die db senden und immer nur in einer spalte abprüfen. aber ehrlich gesagt, halte ich das für performanceschädigend.

was willst du überhaupt machen? macht es nicht doch sinn, mal die strukturen der tabellen zu checken, ob das überhaupt so sinn macht, wie du es macht? (nur als tipp)
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #5 (permalink)  
Alt 27-08-2003, 18:08
JogiWebster
 Registrierter Benutzer
Links : Onlinestatus : JogiWebster ist offline
Registriert seit: Jul 2002
Ort: Hamburg, DE
Beiträge: 115
JogiWebster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ist wirklich schwierig zu beschreiben, ich versuchs nochmal...

ich möchte eigentlich nur wissen, in welcher Spalte von 0-30 (von links nach rechts) der String in welcher Zeile gefunden wurde.
Danach möchte ich einen Positionsindex von 1-10 (respektive "text1" - " text10") erstellen und danach sortieren.
Ich möchte das also wie ein Schachbrett betrachten und heruasfinden ob A1 oder B2 oder A3...

Ich wüßte nicht, wie ich die Tabellenstruktur optimieren könnte, weil der Suchbegriff ja komplett variabel ist... ??

Hast Du noch eine andere IDee??


Jogi
Mit Zitat antworten
  #6 (permalink)  
Alt 27-08-2003, 20:38
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von JogiWebster
Hast Du noch eine andere IDee??
nö.. tut mir leid.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #7 (permalink)  
Alt 27-08-2003, 20:54
JogiWebster
 Registrierter Benutzer
Links : Onlinestatus : JogiWebster ist offline
Registriert seit: Jul 2002
Ort: Hamburg, DE
Beiträge: 115
JogiWebster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok, trotzdem danke!
Vielleicht hat ja jemand anderes noch eine IDEE????
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:12 Uhr.