多行数据库到数组(dropPin)

时间:2017-03-07 07:17:46

标签: php

问题

如上所述。我有一个代码示例如下所示。

$mapItems = array(
    array("id" => 1, "title" => "map pin 1", "xcoord" => "420", "ycoord" => "120"),
    array("id" => 2, "title" => "map pin 2", "xcoord" => "429", "ycoord" => "129"),
    array("id" => 3, "title" => "map pin 3", "xcoord" => "329", "ycoord" => "329")
);

问题是,我想从数据库中获取数据并放入如上所示的数组中。我尝试过,但我不知道它是如何运作的。以下是我的一些代码:

$mapItems = array();
$qry='SELECT l.loc_x, l.loc_y, m.member_name '.
     'FROM location l '.
     'JOIN member m ON m.member_id = l.member_id '.
     "WHERE l.map_id = '$id'";
$result=mysqli_query($con, $qry);
$tempNo=1;
while($rows=mysqli_fetch_array($result)){
    $mapItems["id"] = $tempNo;
    $mapItems["title"] = $rows['member_name'];
    $mapItems["xcoord"] = $rows['loc_x'];
    $mapItems["ycoord"] = $rows['loc_y'];
    $tempNo++;
}

我想制作底部代码,看起来与顶级代码完全相同,但是通过从数据库中读取数据。提前谢谢。

最后,我设法为我的问题找到解决方案。

$qry='SELECT l.loc_x, l.loc_y, m.member_name '.
     'FROM location l '.
     'JOIN member m ON m.member_id = l.member_id '.
     "WHERE l.map_id = '$id'";
$result=mysqli_query($con, $qry);
$i=1;
$mapItems = array();
while($rows=mysqli_fetch_array($result)){
    $loc = array("id"     => $i, 
                 "title"  => $rows['member_name'],
                 "xcoord" => $rows['loc_x'],
                 "ycoord" => $rows['loc_y']);
    $mapItems[] = $loc;
    $i++;
}

参考:dropPin

2 个答案:

答案 0 :(得分:0)

试试这个

$i = 0; //array index
while($rows=mysqli_fetch_array($result)){
  $mapItems[$i]["id"] = $tempNo;
  $mapItems[$i]["title"] = $rows['member_name'];
  $mapItems[$i]["xcoord"] = $rows['loc_x'];
  $mapItems[$i]["ycoord"] = $rows['loc_y'];
  $tempNo++;
  $i++;
}

答案 1 :(得分:0)

我希望这会对你有所帮助

$qry="SELECT l.loc_x, l.loc_y, m.member_name FROM location l JOIN member m ON m.member_id = l.member_id WHERE l.map_id = '$id'";
$result=mysqli_query($con, $qry);

$mapItems = array();
$tempNo=1;
while($rows=mysqli_fetch_array($result)) {
   $mapItems[] = $row;
}
print_r($mapItems);