我尝试了这样的事情:
// $count is an incrementing number
echo '<td><input type = "radio" name = "selected"
value = "<?php echo htmlspecialchars($count); ?>"></td>';
我也试过:
echo '<td><input type = "radio" name = "selected" value = "<?php echo
"$count"; ?>"></td>';
两者都没有用。我意识到尝试以这种方式使用 php 编写 html 似乎很奇怪,但我不知道如何根据某些条件显示 html。
添加代码段所在的整个函数:
function makeRow($row_name,$row_ticket) {
//create html table row from mysql table row passed as ticket object param
$count = 0;
foreach ($row_array as $key => $value) {
# code...
$count++;
if(strcmp($key, "select")==0){
echo '<td><input type = "radio" name = "selected"
value ="' . <?php echo htmlspecialchars($count); ?> . '"></td>';
}
else if(strcmp($key, "body")==0){/*do not make cell for body*/}
else { echo "<td>$value</td>";}
}
}
它无法工作,因为您无法像那样连接字符串,它会引发 php 解析错误。我没有足够的声誉来评论,所以我添加自己的答案:
// $count is an incrementing number
echo '<td><input type = "radio" name = "selected"
value ="' . htmlspecialchars($count) . '"></td>';
您不能在另一个标签中添加新的 php 打开/关闭标签。
更新:
实际上,您不需要htmlspecialchars()函数来输出脚本 - 生成的整数变量,因此您也可以跳过它。
你为什么不直接连接字符串和嵌入的<?php
:
// $count is an incrementing number
echo '<td><input type = "radio" name = "selected"
value ="' . <?php echo htmlspecialchars($count); ?> . '"></td>';
注意:我也认为你对PHP和HTML的解释有一个根本性的误解:
- PHP 是一种专为 Web 开发而设计的服务器端脚本语言...(请参阅此维基百科文章)。这意味着PHP代码将在到达浏览器之前在服务器上执行。
- HTML 被浏览器解释为纯文本。浏览器中不执行 PHP。当浏览器解释时,您的 HTML 将如下所示:
<td>
<input type="radio" name="selected" value="<?php echo "$count"; ?>">
</td>