如何使用Php合并PDO Mysql阵列数据
我需要将类别和子类别合并到一个数组中。这是代码。如何使用Php合并PDO Mysql阵列数据
$sql = 'select * from category where id = ?';
$q = $db->prepare($sql);
$q->bindParam(1, $id);
$q->execute();
while($rows = $q->fetch()){
$cat[] = $rows['id'];
$s = 'select * from category where category_id = ?';
$q = $db->prepare($s);
$q->bindParam(1, $rows['id']);
$q->execute();
while($row = $q->fetch()){
$list[] = $row['id'];
}
$data = array_push($cat, $list);
echo $data;
}
打印时代替IDS数字
是要合并$猫和$列表我得到2值?
你可以试试:
array_merge($cat, $list);
尝试数组到字符串转换错误来 –
我想你想要的是这样的:
$sql = 'select * from category where id = ?';
$q = $db->prepare($sql);
$q->bindParam(1, $id);
$q->execute();
$data = array();
while($rows = $q->fetch()){
$cat[] = $rows['id'];
$s = 'select * from category where category_id = ?';
$q = $db->prepare($s);
$q->bindParam(1, $rows['id']);
$q->execute();
while($row = $q->fetch()){
$list[] = $row['id'];
}
$data = array_merge($data, $cat, $list);
//$data = array_unique($data);
print_r($data);
}
通知的$data = array();
while循环之前。使用array_merge
,您可以将具有$ data数组的类别和子类别合并到数据数组中。
如果您碰巧得到重复的值,您不需要或不需要,只需取消注释$data = array_unique($data);
,它会为您擦除重复的条目。
请澄清你的问题,如果我不解决你的问题,我会更新我的答案。
玩得开心,可能源于你。
感谢您的回复。我已经尝试过你的解决方案错误,因为'echo $ data'($ data是一个数组,echo是用于回显字符串)的字符串转换 –
,应该是print_r($ data)或类似的。 – mondjunge
我解决了这个问题,这个帖子combine-results-from-two-pdo-queries
$id = '1';
$results = array();
$sql = 'select * from category where id = ?';
$q = $db->prepare($sql);
$q->bindParam(1, $id);
$q->execute();
while($rows = $q->fetch(PDO::FETCH_ASSOC)){
$results[] = $rows['id'];
}
$s = 'select * from category where category_id = ?';
$q = $db->prepare($s);
$q->bindParam(1, $id);
$q->execute();
while($row = $q->fetch(PDO::FETCH_ASSOC)){
$results[] = $row['id'];
}
var_dump($results);
你能不能把你得到什么,你希望什么帮助? –
这里最好粘贴表格的结构。 –
不要使用'array_push',因为某些原因它会添加值。你想要一个具有所有值的数组是什么?示例:'$ array1 [] = 1; $ array2 [] = 1; echo array_push($ array1,$ array2);' – chris85