Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Transferir as coordenadas do mapa do google para o banco de dados mysql


Tudo bem agora, aqui está a solução de banco de dados para você:

Os caminhos da tabela armazenarão os caminhos que você possui, do seu array.
CREATE TABLE `gmap`.`paths` (
  `pID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `pName` VARCHAR(75) NOT NULL,
  `pStartLat` VARCHAR(25) NOT NULL,
  `pStartLng` VARCHAR(25) NOT NULL,
  `pAverageSpeed` FLOAT NOT NULL,
  PRIMARY KEY (`pID`)
)
ENGINE = MyISAM;

Os caminhos da tabela armazenarão seu nome de usuário/caminho (o que você quiser) no campo pName, ponto de partida nos campos pStartLat/pStartLng, pAverageSpeed ​​é, claro, a velocidade média (não sei se você quer, apenas no caso) e pID é identificador que você usará com outra tabela:
CREATE TABLE `gmap`.`coords` (
  `cID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `cLat` VARCHAR(25) NOT NULL,
  `cLng` VARCHAR(25) NOT NULL,
  `cSpeed` FLOAT NOT NULL,
  `cPath` INTEGER UNSIGNED NOT NULL,
  PRIMARY KEY (`cID`)
)
ENGINE = MyISAM;

Esta tabela permitirá que você armazene coordenadas - com velocidade para cada uma.

Agora, digamos que você queira mostrar o caminho chamado 'TestOne'.
// Connect to the database - I assume you can do that
// and retrieve data

SELECT * FROM paths WHERE pName = "TestOne"

Agora você tem ID, nome, coordenadas do ponto inicial e velocidade média na tabela (mysql_fetch_assoc seria ótimo para isso).

Então, usando o ID, você pode recuperar o restante das coordenadas:
SELECT * FROM coords WHERE cPath = ID

E agora, usando e. g. while loop, você pode recuperar todas as coordenadas em um array.

Claro que primeiro você tem que armazenar esses dados usando a construção INSERT INTO ou similar :-)