如何使用PHP和MySQL从数据库中获取数组中的数据

时间:2016-08-30 06:54:30

标签: php mysql

我需要一个帮助。我需要从数据库中获取数据并使用PHP和MySQL将它们存储在一个数组中。我的表格结构如下。

  

db_special:

id     member_id      subcat_id        image         comment

1       135              3             abc.png         hiii

2       135              3             wsd.png         hello

3       135              4             nbh.png         huuuu

4       120              4             nkj.png        hghghg

以上是我的表格结构。我需要使用由用户提供的member_idsubcat_id来获取数据,并且应该按member_id进行分组。我需要获取如下格式的数据。假设用户有member_id=135 and subcat_id=3,那么结果应如下所示。

data={"member_id":135,"subcat_id":3,"special_image"[{"image":"abc.png","comment":"hiii"},{"image":"wsd.png","comment":"hello"}]}

这里我需要查询。请帮助我。

2 个答案:

答案 0 :(得分:2)

就像我在评论中所说的那样。查询,获取,创建数组结构,然后编码:

// connect
$db = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');
$member_id = 135; // values
$subcat_id = 3;
// statement
$stmt = $db->prepare('SELECT * FROM db_special WHERE member_id = :member_id AND subcat_id = :subcat_id');
$stmt->execute(array(
    ':member_id' => $member_id,
    ':subcat_id' => $subcat_id
));
// initialize container format
$data = array(
    'member_id' => $member_id,
    'subcat_id' => $subcat_id,
    'special_image' => array(), // initialize
);
// fetch values and push into container with format
foreach($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
    $data['special_image'][] = array('image' => $row['image'], 'comment' => $row['comment']);
}
// encode
echo json_encode($data);

答案 1 :(得分:0)

试试这个希望它会对你有所帮助。

<?php
//Your Query
$sql = "YOUR QUERY"
$result = mysql_query($sql);

//Your Array
$newArray = array();

//Your Array Data
while($row = mysql_fetch_array($result)){ 
  $newArray[] = "\"".$row['COLUMN NAME']."\"";
}
?>