Hallo Ich bin Latitude, Longitude Werte in die Datenbank einfügen. Verhindern doppelte Werte in Mysql-Datenbank - wenn bestimmte Spalten ähnlich der zuletzt eingefügten Zeile sind
INSERT INTO `Tracks` (`Latitude`, `Longitude`, `Time`, `Date`, `Speed`) VALUES ('$Latitude', '$Longitude', '$UTC_Time', '$UTC_Date', '$Speed');
Der GPS-Empfänger neigt .. die gleichen lat, long-Werte mehr als einmal senden Vor dem Einsetzen, versuche ich die lat langen Spalten der letzten eingefügten Zeile zu überprüfen, und wenn sie übereinstimmen, die Abfrage sollte nicht ausgeführt werden. Sonst sollte die Abfrage ausgeführt werden. Das kann ich momentan nicht! Was ist, wenn keine Zeilen in der Datenbank vorhanden sind und der Code nach der zuletzt eingefügten Zeile sucht?
Auch der Benutzer kann zu einem späteren Zeitpunkt wieder an den gleichen Ort kommen und daher sollten wir nicht die gesamte db für doppelte lat, lange Werte überprüfen. Wie soll ich das dann machen? Kann ich das in PHP selbst machen, ohne die db zu überprüfen? Irgendwelche Ideen/Vorschläge? Danke im Voraus!
Ich würde dies in PHP tun, wie Sie vorgeschlagen. Wenn Sie eine Sitzung haben, speichern Sie einfach den letzten Wert dort. –
Hey, wie soll ich das machen? So was?if ($ _ SESSION ['Latitude'] == $ Latitude && $ _SESSION ['Längengrad'] == $ Längengrad) {$ _SESSION ['Latitude'] = $ Latitude; $ _SESSION ['Längengrad'] = $ Längengrad; } sonst {query} was ist der Anfangswert von $ _SESSION ['Latitude'] und $ _SESSION ['Longitude'] .. ?? – Karthick
Dieser Code ist in Ordnung. Anfangs ist der Wert nicht definiert (NULL). Setzen Sie nach der Abfrage auch die Sitzungsvariable. –