我遇到了一个奇怪的问题,我现在试图解决很长一段时间,但找不到任何解决方案。
我正在生成一些带有信息的行,每行都包含一个复选框。我在 PHP 中有以下代码,用于检查是否存在 certrain 条目,如果存在,则选中复选框。
$sql = "SELECT COUNT(*) anz FROM jubilaeum WHERE jahr='".$Jahr."' AND mon='".$num."' AND AdrNr='".$RS1_row["AdrNr"]."' AND type='1'";
$rs_erledigt = $db->prepare($sql);
$rs_erledigt->execute();
$row = $rs_erledigt->fetch();
$anz = $row["anz"];
该代码为我生成以下 SQL 查询:
SELECT COUNT(*) anz FROM jubilaeum WHERE jahr='2019' AND mon='5' AND AdrNr='14061' AND type='1'
现在我使用一个基本的 IF 来检查是否有任何记录被发现,以便我可以选中一个复选框
<input type="checkbox" name="mychk" id="mychk" value="somevalue" <?php if($anz>0) echo "checked"; ?> />
所有在我的数据库中有正确条目的复选框都被选中,除了第一个生成的复选框,我可以随意交换框,第一个永远不会被选中。我试图$row["Anz"]直接在我的 IF 中使用,但没有解决问题。
我认为 PHP 没有正确解释我查询的返回值,但我对如何解决这个问题一无所知。
有人遇到过类似的问题,可以帮我解决这个问题吗?我是在这里发帖的新手,所以如果您需要更多信息,请告诉我。提前致谢!
编辑:我只是尝试将 Query 从 to 更改COUNT(*)为if(COUNT(*)>0,'ja','nein')同时将 if 更改为仍然为空if($anz=="ja") 的值$anz。
慕后森