Diederiikk
Diederiikk

Reputation: 51

PHP combined with HTML code

I am trying to put some php code in a code that is combined with HTML.

I have the following code:

<?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>';
}
?>

On the [in this place] spot I want to put the following code:

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

I have tried it multiple times but I just can't get it to work.

Upvotes: 2

Views: 93

Answers (4)

Rizier123
Rizier123

Reputation: 59701

You can concatenate a ternary operator like this:

$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>';
}

Upvotes: 6

Nemesis
Nemesis

Reputation: 22

this should work

<?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>';
}

?>

EDIT: now session check it's inside the loop

Upvotes: 0

DLastCodeBender
DLastCodeBender

Reputation: 327

Another way is to exit your echo then run the conditional statement then resume your echo... eg

<?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>'; 
} 
?>

Upvotes: 0

Brett
Brett

Reputation: 20079

You can do this many different ways, but if you want cleaner html code:

<?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>';

}

?>

OR...

<?php

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

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

    $checked = ($_SESSION['gebruikers_klasid'] == $record['klas_id']) ? ' checked' : '';

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

}

?>

Upvotes: 0

Related Questions