Les planteo mi problema , estoy tratando de mostrar varios registros que consulto a una base de datos. ahora transforme la direccion en latitud y longitud (hasta aqui no hay problema). el problema radica en que me pinta solo el ultimo registro de la bd en la pagina .
Metodo para seleccionar todos los registros de la tabla personas
Código:
Prueba.phppublic function obtener_personas() { $sql="select * from personas"; // echo $sql; $res=mysql_query($sql,self::con()); while ($reg=mysql_fetch_assoc($res)) { $this->user[]=$reg; } return $this->user; }
Código:
Y esta es la base de datos<?php require_once("class/class.php"); $tra=new Trabajo(); $reg=$tra->obtener_personas(); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Codificación geográfica</title> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=true"></script> </script> </head> <body> <?php for ($i=0; $i < count($reg); $i++) { $doc=new DOMDocument(); $direccion=$reg[$i]["direccion"]." ".$reg[$i]["pais"]; // echo $direccion; $xml="http://maps.googleapis.com/maps/api/geocode/xml?address=".$direccion."&sensor=true"; // echo $xml; $doc->load($xml); $persona=$doc->getElementsByTagName("result"); foreach ($persona as $p) { $latitud=$p->getElementsByTagName("lat"); $latitud=$latitud->item(0)->nodeValue; $longitud=$p->getElementsByTagName("lng"); $longitud=$longitud->item(0)->nodeValue; } echo "<script> $(document).ready(function() {cargar_mapa(); }); function cargar_mapa() { var myOptions = { scaleControl: true, center: new google.maps.LatLng($latitud,$longitud), zoom: 15, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map($('.map_canvas').get(0), myOptions); var marker = new google.maps.Marker({ map: map, title: '$direccion', position: map.getCenter() }); var infowindow = new google.maps.InfoWindow(); infowindow.setContent('<b>Mapa</b>'); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map, marker); }); } google.maps.event.addDomListener(window, 'load', cargar_mapa); </script>"; echo "mi latitud es : ".$latitud."</br>"; echo "mi longitud es : ".$longitud."</br>"; echo $reg[$i]["nombre"]."<br>"; echo $reg[$i]["telefono"]."<br>"; echo $reg[$i]["correo"]."<br>"; echo $reg[$i]["direccion"]."<br>"; echo $direccion=$reg[$i]["direccion"]." ,".$reg[$i]["pais"]; echo "<div class='map_canvas' style='width:400px; height:300px;'>1</div>"; echo "<hr>"; } ?> <?php # code... ?> </body> </html>
Código:
Gracias por su atencion CREATE TABLE `personas` ( `id` int(11) NOT NULL auto_increment, `nombre` varchar(100) collate utf8_spanish_ci NOT NULL, `telefono` varchar(50) collate utf8_spanish_ci NOT NULL, `correo` varchar(100) collate utf8_spanish_ci NOT NULL, `direccion` varchar(200) collate utf8_spanish_ci NOT NULL, `pais` varchar(100) collate utf8_spanish_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=5 ; -- -- Volcar la base de datos para la tabla `personas` -- INSERT INTO `personas` VALUES (1, 'yo andres', '87987', '[email protected]', 'Calle 18 20-18 tulua', 'colombia'); INSERT INTO `personas` VALUES (2, 'critina solis', '89798', '[email protected]', 'Calle 25 20-18 tulua ', 'colombia'); INSERT INTO `personas` VALUES (4, 'leidy', '3128534720', '[email protected]', 'Calle 25 17-18 tulua', 'colombia');