hi,
ich hab folgendes problem:
ich habe ne tabelle mit vielen verschiedenen zahlenwerten. Ich habe außerdem einen vom User angegebenen Zahlenwert. NUn möchte ich aus der Tabelle nur den Zahlenwert auslesen, wo „Zahlenwert aus Tabelle“ - „Zahlenwert von User“ am kleinsten ist.
Ich habe es zuerst mit
versucht. Dies ging aber nicht. Hat irgendjmd einen Vorschlag, wie man dieses Problem löst?
wenn ich das richtig verstanden habe, liegt es nicht am Min() ansich, sondern daran das mysql im query nicht rechnet. Wenn du dir vorstellst das ein Select eine Abfrage auf eine Tabelle darstellt, die erst durch mysql_query(); ausgeführt wird, siehst du, das du mit zahlenwert_tabelle noch gar nicht rechnen kannst, da der Wert noch unbekannt ist.
Min(), Count(), Group(), Sort(), haben keinen Einfluss auf das auslesen der Daten ansich, sie formatieren lediglich das Ergebnis in angegebener Form.
Ich kenn den Aufbau deiner Tabellen nicht, aber entweder musst du die Struktur der Tabelle ändern oder die Werte zum berechnen vorher schon auslesen, dann berechnen und evtl. eine neue Abfrage auf die Datenbank machen.
Vielleicht gibst du mal deine Struktur preis und wir kucken mal ob man das irgendwie optimieren kann
Das ganze ist als Hilfe für das Onlinespiel D********t (Ich will hier keine Werbung machen ) gedacht. Dort gibt es eine riesige Karte mit ca. 1 Billionen Feldern mit X- und Y- Koordinaten. Dabei gibt es besondere Ort auf der Karte. Man selbst „fliegt“ nun auch auf dieser Karte herum. UNd jetzt wollte ich ein Script schreiben bei dem man seine eigenen momentanen Koordinaten angibt und dann aus einer Datenbank, die die Koordinaten der besonderen Orte enthält der am kürzesten entfernteste Ort angegeben wird.
Kleine Skizze der Karte:
man selbst ist an der roten Stelle (X:4 Y:5)
Es gibt „besondere“ Orte an X:1 Y:1, X:6 Y:3 und X:4 Y:8
die Koordinaten der Orte habe ich in einer Tabelle gespeichert:
|Id | X | Y |
| 1 | 1 | 1 |
| 2 | 6 | 3 |
| 3 | 4 | 8 |
Das Script soll nun nach der Eingabe der eigenen Koordinaten den am kürzesten entfernten Ort liefern.
ich es jetzt zuerst einmal so gelöst: http://brio.bplaced.net/df/index.php?inc=showthings.php
mit Satz des Phytagoras berechne ich die Entfernung von allen und man muss isch selbst den nähesten aussuchen. Aber es gibt 2 Milliarden dieser Orte und wenn die alle in der DB sind kann das lange dauern