我正在尝试回显一段嵌套了PHP的文本,有人知道怎么回显吗?我试过这样做:
function update_category(){
global $connection;
if (isset($_GET['edit'])) {
$edit_cat_key = $_GET['edit'];
$query = "SELECT * FROM categories WHERE cat_id = {$edit_cat_key }";
$edit_cat_query = mysqli_query($connection, $query);
echo '<form action="categories.php" method="post">
<div class="form-group">
<label for="new-cat-title">New name of category</label>
<input value="<?php if(isset($cat_title)){echo $cat_title;} ?>" type="text" class="form-control" name="new-cat-title">
</div>
<div class="form-group">
<input class="btn btn-primary" type="submit" name="submit" value="Rename Category">
</div>
</form>';
while($row = mysqli_fetch_assoc($edit_cat_query)) {
$cat_title = $row['cat_title'];
$cat_id = $row['cat_id'];
}
}
}
打印:<?php if(isset($cat_title)){echo $cat_title;} ?>
我试过这样:
<input value="' . <?php if(isset($cat_title)){echo $cat_title;} ?> . '" type="text" class="form-control" name="new-cat-title">
3条答案
按热度按时间qni6mghb1#
我会这样做(只显示php代码中的echo部分):
这会回显两个字符串(用单引号括起来),并根据条件在它们之间回显变量,同时保持属性值的双引号对不变。
oyt4ldly2#
Echo是一个php语句。你用它来显示一个字符串的输出。你需要的是,用
?>
替换echo '
,用</form><?php
替换</form>';
。这些结束标记(?>
)和开始标记(<?php
)让你决定你的文档的哪一部分应该作为PHP处理。所以PHP会忽略文档的其余部分。3gtaxfhh3#
根据Johannes的回答,我设法找到了一个答案。我需要关闭PHP标记,并将其放入while循环中,而不是回显所需的结果。
就像这样: