SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 25.09.2008, 09:39:07
zu1u zu1u ist offline
Anfänger
 
Registriert seit: Jul 2008
Alter: 39
Beiträge: 19
Vergleich in Abfrage

Hallo,
ich habe eine Tabelle mit Woertern.
Fuer die Abfrage habe ich ein einzelnes Wort, das nicht in der Tabelle mit Woertern enthalten sein muss.

Ich haette nun gerne in der sortierten Reihenfolge der Woerter aus der Tabelle die Position an der das Wort steht, und wenn es nicht in der Tabelle enthalten ist die Position wo das Wort eigentlich einsortiert werden wuerde.
Also die Stelle wo die Woerter dem zu vergleichenden am 'aehnlichsten' sind.

Ist sowas irgendwie moeglich???
Habe schon laenger ueberlegt, bin aber noch zu keinen vernuenftigen Loesungen gekommen.
Jemand eine Idee?
Mit Zitat antworten
  #2  
Alt 25.09.2008, 10:13:14
zu1u zu1u ist offline
Anfänger
 
Registriert seit: Jul 2008
Alter: 39
Beiträge: 19
AW: Vergleich in Abfrage

hab mir jetzt gedacht ich koennte sowas in der art machen:

SELECT word FROM(
INSERT INTO (SELECT word FROM word as TEMP) VALUES('neueswort')
) ORDER BY ASC

und daraus dann die entsprechende Stelle lesen. Bin nicht so Syntaxsicher in Mysql... hab es nicht hinbekommen, geht das ueberhaupt so nested mit insert usw. ?


Andere Moeglichkeit vieleicht mit temporary table wo ich vorher alle woerter aus word inserte und anschliessend das eine wort noch. Dann der Select. waere das eine bessere Loesung?
Mit Zitat antworten
  #3  
Alt 25.09.2008, 10:34:23
bitwurst bitwurst ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 51
Beiträge: 30
AW: Vergleich in Abfrage

Hallo zu1u,

Mir fällt da gerade nur eine PHP Lösung ein (nicht ausprobiert!):

Wenn Alphabetische Sortierung reicht:

- Sortierte Wortliste aus der DB geben lassen
- In ein Array packen (oder bereits als Array geben lassen)
- array_search(...) gibt den Schlüssel/Index zurück wenn das Wort drin ist oder false (mit === prüfen!)

- wenns nicht drin ist: das Wort mit array_push(...) am Ende des Arrays hinzufügen
- irgendeine Sortiermethode: z. B. natcasesort(...)
- array_search(...) gibt den Schlüssel/Index zurück des Wortes zurück

Ändert sich die Wortliste? Sind das viele Wörter?

Aber evtl. weiß jemand was clevereres...
j.

Geändert von bitwurst (25.09.2008 um 10:36:55 Uhr)
Mit Zitat antworten
  #4  
Alt 25.09.2008, 10:50:48
zu1u zu1u ist offline
Anfänger
 
Registriert seit: Jul 2008
Alter: 39
Beiträge: 19
AW: Vergleich in Abfrage

ja alphabetisch reicht.
Worliste aendert sich, und koennten irgendwann auch mal sehr viele woerter sein..

ich probier das mal aus, danke
Mit Zitat antworten
  #5  
Alt 25.09.2008, 10:54:44
bitwurst bitwurst ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 51
Beiträge: 30
AW: Vergleich in Abfrage

ok machs nochmal rein, dachte es ist irgendwie mist...

Tabelle word:
Anna
Dieter
Hannes
Hans
Lisa

Tabelle tmp_word
Hanno

mit folgender Abfrage bekommst du eine sortierte Liste mit allen Namen
aus word und tmp_word
Code:
SELECT word FROM word
UNION
SELECT word FROM tmp_word
ORDER BY word
Anna
Dieter
Hannes
Hanno
Hans
Lisa

Allerdings weiß ich nicht wie/ob man sich jetzt die Position von Hanno geben lassen kann...


Wofür brauchst du denn die Position des Wortes?
j.

Geändert von bitwurst (25.09.2008 um 11:34:30 Uhr)
Mit Zitat antworten
  #6  
Alt 25.09.2008, 11:32:39
zu1u zu1u ist offline
Anfänger
 
Registriert seit: Jul 2008
Alter: 39
Beiträge: 19
AW: Vergleich in Abfrage

wieso hast du deinen ansatz geloescht?

ich habs jetzt so gemacht, ich fuege wenn das wort noch nicht in der tabelle ist in einen TempTable ein. Dann:

SET @referenz=0;
SELECT ref FROM(
SELECT @referenz:=@referenz+1 AS ref, word2 FROM (
SELECT word AS word2 FROM word
UNION
SELECT word AS word2 FROM TempTable
ORDER BY word2 ASC)temp)temp2
WHERE word2='hansolo'

und dann hab ich die Position. danke fuer den tip ;)

ich brauch die Position weil ich in meiner Liste eben direkt die Position zeigen will wo das Wort steht/stehen wuerde. Und nicht einfach den Anfang der Liste...wo man dann evtl an die Stelle scrollen muesste (soll in nem Navigationselement sein)
Mit Zitat antworten
  #7  
Alt 25.09.2008, 11:39:18
bitwurst bitwurst ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 51
Beiträge: 30
AW: Vergleich in Abfrage

Evtl. brauchst du gar keine TEMP-Tabelle:

Code:
SELECT word FROM word
UNION
SELECT 'Hanno'
ORDER BY word
Mit Zitat antworten
  #8  
Alt 25.09.2008, 11:42:45
zu1u zu1u ist offline
Anfänger
 
Registriert seit: Jul 2008
Alter: 39
Beiträge: 19
AW: Vergleich in Abfrage

stimmt, scheint auch so zu gehn
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
"Illegal mix of collations" bei Abfrage über View - nur auf dem Server!! masseschaden MySQLi/PDO/(MySQL) 2 14.09.2008 20:45:33
MySQL Abfrage innerhalb einer Abfrage HariboGold MySQLi/PDO/(MySQL) 4 27.08.2008 17:00:28
Zuordnungstabelle n:m, Abfrage: in Zuordnung A aber nicht gleichzeitig in B bitwurst MySQLi/PDO/(MySQL) 3 27.08.2008 13:41:31
SELECT Abfrage nur mit gefüllten Werten Skyman MySQLi/PDO/(MySQL) 0 24.10.2007 23:01:50
Alphabet Abfrage Daemonium PHP Grundlagen 7 28.09.2006 17:43:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:59:31 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt