这是代码。
include ("Data.php");
if (!$con) {
die ("connection error". mysqli_connect_error());
}
$sql1 = "SELECT * FROM PMList where AssetNum= '$AssetNum' and Plant= '$Plant';";
$result = mysqli_query($con, $sql1) or die(mysqli_error($con));
if ($result->num_rows > 0)
$count = 0;
$Task = 1;
while($row = mysqli_fetch_assoc($result))
if ($row['Task'.$Task] !== NULL) {
$Count=1000; echo $Count; echo $row['Task'.$Task];
}
else
do
{
echo "<td bgcolor='#D8D8D8' align='Left'>";
echo "<font size='2'>";
echo $row['Task'.$Task];
echo " </font></td>";
echo "<td bgcolor='#D8D8D8'><input type='radio' name='Task$Task' value='Yes'>Yes";
echo " <input type='radio' name='Task$Task' value='No'>No";
echo "<tr border='0'>";
$Task++;
}
while ($count++ <= 13);
$con->close();
?>
我想做的是。检查我的task1-task15是否为null或空停止我的echo语句,因为它在未分配的任务上添加了单选按钮。最多可以有15个任务。现在当我运行页面时。并且回显计数显示1000.它显示作为任务的行。见图。
我只是需要它才能意识到如果Task为空以停止循环,因为不需要显示额外的单选按钮。请帮助或建议。并且是的,不能免于sql注入,建议使用PDO。提前谢谢
答案 0 :(得分:0)
使用for
循环从1到15进行计数,并在到达第一个空任务时使用break
来停止循环。
此外,您应该在循环开始时<tr>
,最后</tr>
。
while ($row = mysqli_fetch_assoc($result)) {
for ($task = 1; $task <= 15; $task++) {
if ($row['Task'.$task] === null) {
break;
}
echo "<tr border='0'>";
echo "<td bgcolor='#D8D8D8' align='Left'>";
echo "<font size='2'>";
echo $row['Task'.$task];
echo " </font></td>";
echo "<td bgcolor='#D8D8D8'><input type='radio' name='Task$task' value='Yes'>Yes";
echo " <input type='radio' name='Task$task' value='No'>No";
echo "</tr>";
}
}