将数据从Ajax请求传递到javascript索引

时间:2017-08-19 09:55:03

标签: php ajax

我正在尝试将数据传回我的值映射,有条件地取决于mySQL数据库中的布尔值。

我查询我的数据库并将信息存储在$ results中。然后我使用下面的代码构建我的值图。

//Query database
if(!$results = $link->query($sql)){
  die("Query Unsuccessful");
}

$valueMap = array();

while ($data = $results->fetch_assoc()){
    $valueMap[] = array(
      'title' => $data['title'],
      'lat' => $data['lat'],
      'lng' => $data['lng'],
      'description' => $data['description'],
      'descriptionPub' => $data['descriptionPub'],
    );
}

截至目前,我正在通过JSON字符串传递所有这些数据。但是,我想在这种情况下检查descriptionPub的值,以查看数据是否应该公开。如果是真的我喜欢传递描述...如果错误我想不通过描述。

我试过像

这样的东西
  if($data['descriptionPub']){
        'description' => $data['description'],
      }

我还尝试有条件地设置数据变量,然后将其传递到我的值图中。

  if($data['descriptionPub']){
        $msg = $data['description'];
      }else{
        $msg = "";
      }
      'description' => $msg,

但是在我的索引页面上,我似乎没有在实现其中任何一个时获得任何数据。

我很新,所以我希望有一种简单的方法来实现我不知道的这种行为。

2 个答案:

答案 0 :(得分:1)

您可以使用三元运算符来解决此问题:

$valueMap[] = array(
      'title' => $data['title'],
      'lat' => $data['lat'],
      'lng' => $data['lng'],
      'description' => $data['descriptionPub'] ? $data['description'] : "",
    );

这不会删除描述键,但会将一个空字符串作为值,这对您来说似乎很难理解。

答案 1 :(得分:1)

使用ternary operatorQObject):

?:

或将逻辑移出数组文字:

while ($data = $results->fetch_assoc()){
    $valueMap[] = array(
      'title' => $data['title'],
      'lat' => $data['lat'],
      'lng' => $data['lng'],
      'description' => $data['descriptionPub'] ? $data['description'] : '',
      'descriptionPub' => $data['descriptionPub']
    );
}