私の問題はこれです。ブラウザからGPS位置を取得するJavaScriptコードがあります。次に、これらの座標をjavascriptからSQLデータベースに書き込むことができず、phpに直接送信できないため、コントローラーの「サイト」に移動し、メソッド「writeToDatabase」を使用して、URLに4つのセグメントを追加します。実際、私がjavascriptから取得した座標。
だからjavascriptで私は持っています:
window.location = getBaseURL() + "site/writeToDatabase/" + splittedLatitude[0] + "/" + splittedLatitude[1]
+ "/" + splittedLongitude[0] + "/" + splittedLongitude[1] + "/";
これで、ブラウザは(偽の座標を使用した単なる例)www.mysite.com/index.php/site/writeToDatabase/47/707223/16/054322に移動します。
これで、サイトコントローラーのwriteToDatabaseメソッドがそれらのセグメントを読み取ります(私はcodeigniterを使用しているため、URLのセグメントを読み取るのは非常に簡単です)。セグメントを読んだ後、緯度の最初の部分と緯度の2番目の部分を連結し、ドット「。」を付けます。その間に(この例では47.707223と16.54322を取得します)、経度でも同じことを行います。これらのデータをデータベースに書き込むと、データベースに奇妙な数値が表示されます。セグメントの1つがゼロで始まっている場合も同様です。 (上記の例のように)ゼロが削除されるので、054322から54322を取得し、上記の例のように16.54322になります:)
現在、この奇妙な数値の問題は、データベース全体の座標に書き込もうとした場合にのみ発生します。経度の最初の部分、または経度の2番目の部分(緯度についても同じ)を書き込もうとすると、すべてがうまくいき、正しい値が書き込まれます。
他の誰かがこの問題の解決策を持っていますか?私はすべてアイデアがありません