PHP与HTML代码的结合

PHP与HTML代码的结合,php,html,Php,Html,我试图将一些php代码放入与HTML结合的代码中 我有以下代码: <?php $result = mysqli_query($db,"SELECT * FROM klassen"); while($record = mysqli_fetch_array($result)) { echo '<div class="groepitem"><input type="radio" [IN THIS PLACE] name="groep" value="' . $record['k

我试图将一些php代码放入与HTML结合的代码中

我有以下代码:

<?php
$result = mysqli_query($db,"SELECT * FROM klassen");
while($record = mysqli_fetch_array($result)) {
echo '<div class="groepitem"><input type="radio" [IN THIS PLACE] name="groep" value="' . $record['klasNaam'] . '">' . $record['klasNaam'] . '</div>';
}
?>
if($_SESSION['gebruikers_klasid'] == $record['klas_id']) {
echo 'checked';
}

我已经尝试过多次,但就是无法使其工作。

您可以像这样连接三元运算符:

$result = mysqli_query($db, "SELECT * FROM klassen");
while($record = mysqli_fetch_array($result)) {
    echo '<div class="groepitem"><input type="radio" ' . ($_SESSION['gebruikers_klasid'] == $record['klas_id'] ? "checked" : "") . ' name="groep" value="' . $record['klasNaam'] . '">' . $record['klasNaam'] . '</div>';
}
$result=mysqli_query($db,“SELECT*FROM klassen”);
而($record=mysqli\u fetch\u数组($result)){
回音'.$record['klasNaam'].';
}
这应该行得通

<?php

$result = mysqli_query($db,"SELECT * FROM klassen");

while($record = mysqli_fetch_array($result)) {
    if($_SESSION['gebruikers_klasid'] == $record['klas_id']) {
        $var = 'checked';
    }
    echo '<div class="groepitem"><input type="radio" '.$var.' name="groep" value="' . $record['klasNaam'] . '">' . $record['klasNaam'] . '</div>';
}

?>


编辑:现在会话检查它是否在循环中

您可以通过许多不同的方法来执行此操作,但是如果您想要更干净的html代码:

<?php

$result = mysqli_query($db,"SELECT * FROM klassen");

while ($record = mysqli_fetch_array($result)) {

    if ($_SESSION['gebruikers_klasid'] == $record['klas_id']) {
        $checked = ' checked';
    } else {
        $checked = '';
    }

    echo '<div class="groepitem"><input type="radio"' . $checked . ' name="groep" value="' . $record['klasNaam'] . '">' . $record['klasNaam'] . '</div>';

}

?>

或者


另一种方法是退出echo,然后运行条件语句,然后恢复echo。。。乙二醇

<?php 
$result = mysqli_query($db,"SELECT * FROM klassen");   
while($record = mysqli_fetch_array($result)) { 
    echo '<div class="groepitem"><input type="radio" '; 
   if($_SESSION['gebruikers_klasid'] == $record['klas_id']) { echo 'checked'; }
    echo ' name="groep" value="' . $record['klasNaam'] . '">' . $record['klasNaam'] . '</div>'; 
} 
?>


尝试将条件语句放在
while
循环之后,同时为其分配变量,如
$checked=“checked”
然后将变量回送/放置在
[此处]
中。可能重复;)解释得很好,那是行不通的;比较需要在while循环中。@Brett是的,这就是为什么我说“类似”我所说的。它需要在
循环中,而
循环中。。。差不多。一次完成;)和三巨头一起工作真是太好了,好像不管用。当我添加以下代码时:($\u SESSION['gebruikers\u klasid']=$record['klas\u id']?“选中”:“”)它不会添加“选中”。当我添加:if($_SESSION['gebruikers\u klasid']=$record['klas_id']){echo'checked';}它确实添加了'checked'。@diederiik你开始会话了吗?@diederiik现在应该可以了!忘记添加空格了。只要再复制一次就可以了work@DiederiikkRizier的意思是,
session_start()包含在使用会话的所有页面中?
<?php 
$result = mysqli_query($db,"SELECT * FROM klassen");   
while($record = mysqli_fetch_array($result)) { 
    echo '<div class="groepitem"><input type="radio" '; 
   if($_SESSION['gebruikers_klasid'] == $record['klas_id']) { echo 'checked'; }
    echo ' name="groep" value="' . $record['klasNaam'] . '">' . $record['klasNaam'] . '</div>'; 
} 
?>