php for里面加if,php – 使用IF语句嵌套的foreach循环

数据库表:

电影(id_film PK,名字)

类型(id_genre PK,名称)

film_genre(id_film FK,id_genre FK)

这将从流派表输出所有类型:

$genremenu = $veza -> prepare("select * from genre");

$genremenu -> execute();

$resultmenu = $genremenu -> fetchALL(PDO::FETCH_OBJ);

这将输出film_genre表格中所有选定的特定电影类型:

$izraz = $veza -> prepare("select * from genre a inner join film_genre b on a.id_genre=b.id_genre where b.id_film=:id_film");

$izraz -> execute(array("id_film" => $film -> id_film));

$selectedgenre = $izraz -> fetchAll(PDO::FETCH_OBJ);

我在将数据从数据库输出到表单中的多个选定列表时遇到问题.这是一个电影数据库,我正在进行foreach迭代,以读取所有电影类型的行,以输出到多个选择字段.但是我在输入“选定”类型到该列表时遇到了麻烦.代码是

foreach ($resultmenu as $line) {

foreach ($selectedgenre as $sg) {

if ($line-> id_genre === $sg-> id_genre) {

echo " id_genre . "\" selected>" . $line-> name . "";

} else {

echo " id_genre . "\">" . $line-> name . "";

}

}

}

现在我知道我在选定的列表中有重复的输出,因为,例如,如果电影有2个类型,让我们说喜剧和犯罪,这意味着每个$行他将迭代两次检查$selectedgenre,所以我得到输出喜欢:

>喜剧

>喜剧“入选”

>犯罪

>犯罪“选中”

>恐怖

>恐怖

>等

我是php的新手,所以我问如何获得没有重复条目的正确列表输出?我试过制动并继续但不工作或我没有使用它?请帮助并提供(如果可能的话)更多替代解决方案.谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值