2015-03-31 41 views
0

我几乎不好意思问这个,但我一直在盯着它,觉得有一个简单的答案,但我没有看到/发现它。mySql和PHP的语法..简单的东西丢失

我有我的PHP在这里我使用一个字符串“选中”来检查复选框。

<input type='checkbox' name='hikeL[]' id=".$row["ID"]." ".$row["Chk"]."> 

我想转换,以便我可以使它更强大。使用1或0来影响多种事情,而不仅仅是检查复选框。我试图改变它,但显然有一个我一直无法解决的语法问题。

<input type='checkbox' name='hikeL[]' id=".$row["ID"]." ".$row["Chk"].==1 ? "checked" : "" "> 

这是所有被回显在更大的声明...

while($row = $result->fetch_assoc()) { 
echo "<tr class=''> 
<td class='hikesElement'> 
    <form action='checkbox.php' method='post'> 
     <input type='checkbox' name='hikeL[]' id=".$row["ID"]." ".$row["Chk"]."> 
    </form> 
</td> 
</tr>"; 
} 

任何想法将是伟大的..一种新的对MySQL和PHP,这么多的赞赏..

+0

你必须在三元运算符周围放置括号(整个事物)。 – developerwjk 2015-03-31 22:35:32

回答

1

你似乎之前错过一个点“>和一些括号:

<input type='checkbox' name='hikeL[]' id=".$row["ID"]." ".($row["Chk"]==1 ? "checked" : ""). "> 
+0

就是这样!谢谢.. 我已经使用括号,但忘记将Chk后面的括号后面的点移动到语句末尾。哇,那个人有我..非常感谢。 – 2015-03-31 22:48:44

1

看行

<input type='checkbox' name='hikeL[]' id=".$row["ID"]." ". {$row["Chk"] == 1 ? "checked" : "" } . "> 

你的代码必须是这样的:

<?php 

while($row = $result->fetch_assoc()) { 
echo "<tr class=''> 
<td class='hikesElement'> 
    <form action='checkbox.php' method='post'> 
     <input type='checkbox' name='hikeL[]' id=".$row["ID"]." ". {$row["Chk"] == 1 ? "checked" : "" } . "> 
    </form> 
</td> 
</tr>"; 
} 
1

首先你没有ID在任何类型的报价。

另外我假设$row["Chk"]值应该等于没有,如果不选中或检查=“检查”,如果你想要检查。

<input name="checkbox" type="checkbox" id="checkbox" checked="checked" />