我遇到了一个奇怪的问题,我试图解决这个问题已经有一段时间了,但找不到任何解决方案。
我正在生成一些信息行,每个行都包含一个复选框。我在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"; ?> />
所有选中在我的数据库中具有正确条目的复选框都被选中,除了生成的第一个复选框,我可以随意随意地交换这些复选框,第一个不会被选中。
我尝试直接在我的IF中使用$row["Anz"]
,但无法解决问题。
我认为PHP无法正确解释查询的返回值,但我不知道如何解决此问题。
有人遇到过类似的问题并且可以帮助我吗? 我刚刚在这里发布信息,所以请告诉我是否需要更多信息。 预先感谢!
编辑:我只是尝试将查询从COUNT(*)
更改为if(COUNT(*)>0,'ja','nein')
,同时还将if更改为if($anz=="ja")
$anz
的值仍然为空。
答案 0 :(得分:0)
我找到了解决方案。我的问题是对查询进行第二次获取。删除后,一切正常。