内容可编辑字段在 PHP 中不起作用,但在 HTML 中起作用

Content Editable Field not working in PHP but works in HTML

好的,我知道 HTML 中可编辑字段的代码,内联编辑。但是我无法使用相同的 PHP 代码

我在 HTML 下方附上工作之一,PHP 在我缺少的 echo 中

请指导

谢谢

HTML(工作中)

<td style="text-align:center;" contenteditable="true" data-old_value="<?php echo $row1["view"];?>"  onBlur="saveInlineEdit(this,'view','<?php echo $row1["id"]; ?>')" onClick="highlightEdit(this);"><?php echo $row1["view"]; ?></td>

PHP(肯定是我弄错了 - 没用)

echo "<td style='text-align:center;' contenteditable='true' data-old_value='<?php echo $row1["view"];?>'  onBlur='saveInlineEdit(this,"view","<?php echo $row1["id"]; ?>")' onClick='highlightEdit(this);'><?php echo $row1["view"]; ?></td>
    

<?php echo 仅在您处于 HTML 输出模式并且需要返回 PHP 执行时使用。但是您已经在执行 PHP。它在字符串中没有做任何特殊的事情,它只是字面意思。

只需使用普通的变量替换或连接即可。

echo "<td style='text-align:center;' contenteditable='true' data-old_value='{$row1["view"]}'  onBlur='saveInlineEdit(this,\"view\",\"{$row1["id"];\")' onClick='highlightEdit(this);'>{$row1["view"]}</td>

此外,您需要转义字符串中的文字 "

我怀疑例外的答案是否有效,至少缺少一个 "。我也更喜欢连接,因为它更易读。 串联:

echo '<td style="text-align:center;" contenteditable="true" data-old_value="' . $row["notess"] . '" onBlur="saveInlineEdit(this,\"notess\",' . $row["id"] . ')" onClick="highlightEdit(this);">' . $row["notess"] . '</td>';

您也可以采用输出缓冲的方式:

<?php ob_start(); ?>
<td style="text-align:center;" contenteditable="true" data-old_value="<?php echo $row1["view"];?>"  onBlur="saveInlineEdit(this,'view','<?php echo $row1["id"]; ?>')" onClick="highlightEdit(this);"><?php echo $row1["view"]; ?></td>
<?php ob_end_clean(); ?>