【问题标题】:How to have two select statements in php如何在php中有两个select语句
【发布时间】:2016-06-10 22:04:55
【问题描述】:

我试图在我的php 文件中包含两个选择语句,但我遇到了一些困难。

基本上,我正在尝试从两个查询中获取详细信息并在我的 android 应用中使用它们。

这是我想要的JSON 格式:

[
    userstype:[
    {
        "usertypename" : name

    }
    ]
    userdetails:[
    {
        "forename" : forename
        "surname" : surname
        "age" : age
    }]
]

这是我的php 文件:

<?php
require "init.php";
$stmt = "SELECT userstypename FROM tbluserstype";
$result = mysqli_query($conn, $stmt);
$outcome = array();
if(mysqli_num_rows($result)){
    while($row = mysqli_fetch_assoc($result)){
        $outcome[] = array
        (
            "userstypename" => $row["userstypename"]
        );
    }
    echo json_encode($outcome); 
}
$stmt2 = "SELECT forename, surname, age FROM users";
$result = mysqli_query($conn, $stmt2);
$outcome = array();
if(mysqli_num_rows($result)){
    while($row = mysqli_fetch_assoc($result)){
        $outcome[] = array
        (
            "forename" => $row["forename"],
            "surname" => $row["surname"],
            "age" => $row["age"]
        );
    }
    echo json_encode($outcome); 
}
else{
    echo json_encode("Failed");
}

?>

我想使用userstypeuserdetails 作为标签

【问题讨论】:

    标签: php android sql json


    【解决方案1】:
     <?php
      require "init.php";
      $stmt = "SELECT userstypename FROM tbluserstype";
      $result = mysqli_query($conn, $stmt);
      $outcome = array();
      if(mysqli_num_rows($result)){
         while($row = mysqli_fetch_assoc($result)){
         // following line modified slightly
            $outcome['userstype'] = array(
              "userstypename" => $row["userstypename"]
            );
         }
         // take this line outecho json_encode($outcome); 
      }
      $stmt2 = "SELECT forename, surname, age FROM users";
      $result = mysqli_query($conn, $stmt2);
      //$outcome = array(); <- take this out
      if(mysqli_num_rows($result)){
          while($row = mysqli_fetch_assoc($result)){
          // following line modified slightly
              $outcome['userdetails'] = array(
                "forename" => $row["forename"],
                "surname" => $row["surname"],
                "age" => $row["age"]
             );
          }
        //take this out too, move it outside of if loop echo      json_encode($outcome); 
      }else{
         echo json_encode("Failed");
      }
      echo json_encode($outcome); 
    

    ?>

    【讨论】:

      【解决方案2】:

      我希望这个解决方案能帮助您生成您在问题中定义的 json 格式。

      <?php
      require "init.php";
      $stmt = "SELECT userstypename FROM tbluserstype";
      $result = mysqli_query($conn, $stmt);
      $outcome = array();
      if(mysqli_num_rows($result)){
          while($row = mysqli_fetch_assoc($result)){
             // following line modified slightly
             $outcome['userstype'] = array(
                  "userstypename" => $row["userstypename"]
             );
          }
          // take this line outecho json_encode($outcome); 
       }
       $stmt2 = "SELECT forename, surname, age FROM users";
       $result = mysqli_query($conn, $stmt2);
       //$outcome = array(); <- take this out
       if(mysqli_num_rows($result)){
           while($row = mysqli_fetch_assoc($result)){
              // following line modified slightly
              $outcome['userdetails'] = array(
                 "forename" => $row["forename"],
                 "surname" => $row["surname"],
                 "age" => $row["age"]
              );
           }
           //take this out too, move it outside of if loop echo               json_encode($outcome); 
        }else{
              echo json_encode("Failed");
        }
        // to represent your outcome with json array, write this line.
        $mergedArray[] = $outcome;
        echo json_encode($mergedArray); 
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-05
        • 2017-07-14
        • 2015-03-07
        • 2015-08-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多