我从多选项中得到逗号分隔值,这是mysql行的id。我想要显示它,但我得到'注意:数组到字符串转换'错误使用爆炸。我的数据库表包含'id,url'列。
下面是我的代码:
seq(2006, 2007, by = 1) %>%
map_dfc(function(x) {mydata <- myfunc(mydata, x)}) %>%
select(value, matches("year_"))
# or even shorter
seq(2006, 2007, by = 1) %>%
map_dfc(~ myfunc(mydata, .)) %>%
select(value, matches("year_"))
# A tibble: 3 x 3
value year_2006 year_2007
<dbl> <dbl> <dbl>
1 1. 1. 1.
2 2. 1. 1.
3 3. 1. 1.
请帮忙吗?
答案 0 :(得分:1)
您的foreach()
使用$img
作为值。所以在内部,你必须使用$img
而不是$id
这是数组:
$query->bindParam(':id', $img);
还要更改以下内容,因为您必须使用查询结果而不是$img
这是一个数字。
echo '<img src="../content/uploads/'.$data['url'].'">';
答案 1 :(得分:1)
好的,所以在@Syscall的大力帮助下,终于让它发挥作用了。下面是我的工作代码:
$imageids = '1,2,3,4';
$id = explode(',', $imageids);
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
foreach ( $id as $img ) {
$query = $pdo->prepare('SELECT url FROM kg_images WHERE id = :id');
$query->execute(array(
':id' => $img
));
$data = $query->fetch(PDO::FETCH_ASSOC);
echo '<img src="../kg-content/uploads/'.$data['url'].'">';
}