Autor Tópico: Erro select + variável  (Lida 1104 vezes)

denilsonprates

  • Novato
  • *
  • Mensagens: 11
Erro select + variável
« Online: Março 24, 2015, 09:11:24 am »
Bom dia,

Tenho o seguinte blank:

sc_lookup(data_coord,"SELECT latitude,longitude,id,LEFT(propriedade,6) FROM geolocalizacao WHERE LEFT(propriedade,6) = '[variavel_conferencia_mapa]'");

$novo_array = '';
$novo_wpt = '';
$nome_wpt = '';


foreach({data_coord} as $coordenadas)
{
   $latitude = $coordenadas[0];
   $longitude = $coordenadas[1];
   $wpt = 'P'.$coordenadas[2];
       
   $novo_array = $novo_array.'    var '.$wpt.' = new google.maps.LatLng('.$latitude.','.$longitude.');'."\n";
   $novo_wpt = $novo_wpt.$wpt.',';
   $nome_wpt = $nome_wpt."'".$wpt."',";
}
$novo_wpt = 'var locationArray = ['.$novo_wpt.'];'."\n";
$nome_wpt = 'var locationNameArray = ['.$nome_wpt.'];'."\n";
$_head = "


Quando executo em modo DEBUG, o mesmo retorna o SELECT corretamente:

"(mysqlt): SELECT latitude,longitude,id,LEFT(propriedade,6) FROM geolocalizacao WHERE LEFT(propriedade,6) = '040001' "

Mas, nao retorna o mapa, exibindo o seguinte ERRO:

"ERRO
Undefined variable: latitude
ERRO
Undefined variable: longitude"

Se puderem ajudar, agradeço.

Obrigado.

Denilson Prates

Kleyber

  • Expert
  • *****
  • Mensagens: 2239
    • Email
Re:Erro select + variável
« Responder #1 Online: Março 24, 2015, 09:28:14 am »
Denilson,

Eu particularmente não uso nomes de variáveis iguais aos nomes dos campos. Mas veja: www.scriptcase.com.br/forum/index.php/topic,10594.0.html
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

denilsonprates

  • Novato
  • *
  • Mensagens: 11
Re:Erro select + variável
« Responder #2 Online: Março 24, 2015, 09:33:49 am »
Kleyber,

então, a questão é que desta forma: "sc_lookup(data_coord,"SELECT latitude,longitude,id FROM geolocalizacao WHERE propriedade LIKE '%[variavel_conferencia_mapa]%'");"

Funciona!

Mas, quando o usuário coloca o valor por exemplo: "040001", ele retorna o desenho de várias propriedades que contem este valor.

Pensamos em utilizar o LEFT, para limitar os 6 primeiros digitos, e assim não ter este problema de trazer outras propriedades pelo fator do "LIKE %%".

Esse link que mandou, é da mesma situação, a pessoa que abriu o tópico, trabalha aqui.

Obrigado.

Denilson Prates

Dazxigwo

  • Novato
  • *
  • Mensagens: 2
Re:Erro select + variável
« Responder #3 Online: Setembro 07, 2015, 06:56:19 am »
When looking for information to use it here.

flaviomorais

  • Avançado
  • ****
  • Mensagens: 348
    • Email
Re:Erro select + variável
« Responder #4 Online: Setembro 07, 2015, 11:42:55 am »
liga o debue e verifica o que esta sendo construido no select

Bom dia,

Tenho o seguinte blank:

sc_lookup(data_coord,"SELECT latitude,longitude,id,LEFT(propriedade,6) FROM geolocalizacao WHERE LEFT(propriedade,6) = '[variavel_conferencia_mapa]'");

$novo_array = '';
$novo_wpt = '';
$nome_wpt = '';


foreach({data_coord} as $coordenadas)
{
   $latitude = $coordenadas[0];
   $longitude = $coordenadas[1];
   $wpt = 'P'.$coordenadas[2];
       
   $novo_array = $novo_array.'    var '.$wpt.' = new google.maps.LatLng('.$latitude.','.$longitude.');'."\n";
   $novo_wpt = $novo_wpt.$wpt.',';
   $nome_wpt = $nome_wpt."'".$wpt."',";
}
$novo_wpt = 'var locationArray = ['.$novo_wpt.'];'."\n";
$nome_wpt = 'var locationNameArray = ['.$nome_wpt.'];'."\n";
$_head = "


Quando executo em modo DEBUG, o mesmo retorna o SELECT corretamente:

"(mysqlt): SELECT latitude,longitude,id,LEFT(propriedade,6) FROM geolocalizacao WHERE LEFT(propriedade,6) = '040001' "

Mas, nao retorna o mapa, exibindo o seguinte ERRO:

"ERRO
Undefined variable: latitude
ERRO
Undefined variable: longitude"

Se puderem ajudar, agradeço.

Obrigado.

Denilson Prates

marciowilliam

  • Intermediário
  • ***
  • Mensagens: 118
    • Email
Re:Erro select + variável
« Responder #5 Online: Setembro 07, 2015, 01:39:11 pm »
Usar um aplicativo para rodar o sql externamente Tipo o HeideSQL  e ve se o seu comando SQL nao contem erro.

Isto ja aconteceu comigo umas milhares de vezes (um AND duplicado, uma virgula mal colocada, um nome de campo incorreto, um retorno vazio....)