Eu faço uma função mathematichs no mysql. e dê dois resultados porque é calculado a partir de 2 registros. esta é a fonte:
$calculate= mysql_query("select markers_tujuan.lng,markers_tujuan.lat,open_list.lat, open_list.lng,
((SQRT((((markers_tujuan.lat-markers_tujuan.lng)*(markers_tujuan.lat-markers_tujuan.lng)) + ((open_list.lat-open_list.lng)*(open_list.lat-open_list.lng)))))+(sqrt((((markers_tujuan.lat-open_list.lat)*((markers_tujuan.lat-open_list.lat)))+((markers_tujuan.lng-open_list.lng)*((markers_tujuan.lng-open_list.lng)))))))
as hasil
from markers_tujuan, open_list");
$op=mysql_query("select * from open_list");
$line=mysql_fetch_assoc($op);
/* fetch associative array */
while ($row = mysql_fetch_assoc($calculate)) {
printf ("1(%s %s),(%s %s),%s <br> n", $row["lng"], $row["lat"], $row["lat"], $row["lng"], $row["hasil"]);
$try=mysql_query(" UPDATE open_list SET hitung = "".$row["hasil"]."" ");
}
e o resultado é
mas eu não entendi porque query no mysql atualizando a mesma query
Respostas:
1 para resposta № 1Como outros apontaram, sua instrução UPDATE não possui uma condição WHERE. Portanto, todas as linhas da sua tabela serão atualizadas sempre:
mysql_query(" UPDATE open_list SET hitung = "".$row["hasil"]."" ");
Você deve especificar a PRIMARY KEY durante a atualização. Neste caso, é a coluna id
(Eu presumo). Exemplo:
UPDATE open_list SET hitung = "example" WHERE id = "4"
0 para resposta № 2
Você deve adicionar SELECT open_list.id,...
na sua primeira consulta e WHERE id = " . $row["id"]
na frase de atualização.