php - MySQL Select 内部函数访问其他地方的变量

标签 php mysql sql function

基本上,我正在创建一个动态谷歌地图,它从数据库中提取信息,连接良好,查询良好 - 但我无法从我的函数访问我的变量($row)。

我应该从 php 函数本身解析所有 javascript 吗?或者我可以让它在我的页面上静态并通过直接调用 JavaScript 上方的函数 (getCurrentMapData) 来访问变量吗?

function getCurrentMapData( $select ) 
{
    global $mysqli;

    $sql = $mysqli->query($select);

    if(!$sql) {
       printf("%s\n", $mysqli->error);
       exit();
    }   

    $row = $sql->fetch_array(); 

}

这是我们的开始:

<?php

    $select = "SELECT `id`, `title`, `address`, `lat`, `lng`, `date` FROM `globalmap` ORDER BY `id` desc "; 

    getCurrentMapData( $select );

?>

                <h3>
                    I'm Currently Playing @ 
                <?php echo $row['title'] ?>
                </h3>
                <div id="map">
                    <div id="ps_map_1" class="mapCon">
                    </div>
                </div>
                <script src="http://maps.google.com/maps/api/js?sensor=false"></script> <script>
                    // <![CDATA[


                        var psGlobals = {
                            address: "<?php echo $row['address'] ?>",
                            lat: <?php echo $row['lat'] ?>,
                            lon: <?php echo $row['lng'] ?>,
                            zoomlevel: 13
                        };

                        function initialize() 
                        {
                            psGlobals.latlng = new google.maps.LatLng(psGlobals.lat, psGlobals.lon);
                            buildMap();
                            psGlobals.dirRenderer = new google.maps.DirectionsRenderer();
                            psGlobals.dirService = new google.maps.DirectionsService();
                        }

                        function buildMap()
                        {
                            var myOptions, marker;
                            myOptions = {
                                  navigationControl: true,
                                  navigationControlOptions: {
                                      style: google.maps.NavigationControlStyle.ZOOM_PAN
                                    },

                                  mapTypeControl: true,
                                  scaleControl: false,
                                  zoom: psGlobals.zoomlevel,
                                  center: psGlobals.latlng,
                                  mapTypeId: google.maps.MapTypeId.HYBRID
                            };
                            psGlobals.map = new google.maps.Map(document.getElementById("ps_map_1"), myOptions);
                            psGlobals.marker = new google.maps.Marker({
                                position: psGlobals.latlng, 
                                map: psGlobals.map,
                                title: "<?php echo $row['title'] ?>"
                            });

                        }

                        $(document).ready(function(){
                            initialize()
                        });

                    // ]]>

                    </script>           

最佳答案

您应该返回获取的数组

function getCurrentMapData( $select )  
{ 
    global $mysqli; 

    $sql = $mysqli->query($select); 

    if(!$sql) { 
       printf("%s\n", $mysqli->error); 
       exit(); 
    }    

    return $sql->fetch_array();  

} 

然后您应该将该函数的结果分配给$row变量

$row = getCurrentMapData($select);

关于php - MySQL Select 内部函数访问其他地方的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12470343/

相关文章:

Mysql插入查询返回ERROR 1062 (23000) : Duplicate entry '2147483647' for key 'PRIMARY'

sql - 如何获取SQL Server中sql表中没有一列的所有列名

sql - 在 SSMS 中执行最后一个查询的快捷方式

php - 审查可能包含标记的不当词语的最佳方法是什么?

javascript - 将 Iframe 用于服务器上的另一个文件是否会使当前页面加载速度比直接在页面上加载更快?

php - MYSQL 中的 UNION 和合并列

mysql - 当使用mysql将值插入到另一个表中时,如何更新一个表的值?

php - mysql查询帮助?

php - 如何使用 php 创建多图像拼贴画?

php - 将 javascript var 转移到 php var?