想让这些PHP函数在这个HTML echo中工作

want to make these php function work inside this html echo

本文关键字:HTML echo 工作 函数 PHP      更新时间:2023-09-26

这是PHP文档,当构建这个表单时,我想使用forech函数来构建下拉菜单…因为我在(HTML)里面,它不起作用…有人知道怎么做吗?

echo <<<HTML
    <form method="post" class="form">
    <label for="datafalta">Data da falta</label>
    <input id="datafalta" type="date" value="{$dateToday}"  name="datafalta"/>
    <label for="alunofalta">Selecionar aluno</label>
    <select name="aluno">
         <option value="0" selected></option>
        foreach ($calfaltas as $a) {
            <option value="1">$a->nome</option>
        }
    </select><br /><br />
    <input type="submit" name="enviar" value="Enviar">
    </form>
HTML;

你不能把html和php混在一起。首先,你错过了一些简单的部分,比如弦周围的''

<?php
echo ' 
<html>
    <form method="post" class="form">
        <label for="datafalta">Data da falta</label>
        <input id="datafalta" type="date" value="' . $dateToday . '"  name="datafalta"/>
        <label for="alunofalta">Selecionar aluno</label>
        <select name="aluno">
            <option value="0" selected></option>';
            foreach ($calfaltas as $a) {
                echo '
                <option value="1">' . $a->nome . '</option>';
            }
        echo '
        </select><br /><br />
        <input type="submit" name="enviar" value="Enviar">
    </form>
<html>';

应该可以:

    <?php
    echo"<form method='post' class='form'>
        <label for='datafalta'>Data da falta</label>
        <input id='datafalta' type='date' value='{$dateToday}'  name='datafalta'/>
        <label for='alunofalta'>Selecionar aluno</label>
        <select name='aluno'>
             <option value='0' selected></option>
";
            foreach ($calfaltas as $a) {
               echo " <option value='1'>$a->nome</option>";
            }
    echo"
        </select><br /><br />
        <input type='submit' name='enviar' value='Enviar'>
        </form>";
    ?>

代替将foreach循环放入heredoc输出....在变量中创建所有选项,并将该变量输出到字符串

的中间
 $options='';
 foreach ($calfaltas as $a) {
      $options.='<option value="'.$a->someProperty.'">'.$a->nome.'</option>';
 }
echo <<<HTML
    <form method="post" class="form">
    <label for="datafalta">Data da falta</label>
    <input id="datafalta" type="date" value="{$dateToday}"  name="datafalta"/>
    <label for="alunofalta">Selecionar aluno</label>
    <select name="aluno">
         <option value="0" selected></option>
         $options
    </select><br /><br />
    <input type="submit" name="enviar" value="Enviar">
    </form>
HTML;

注意,您需要固定<option>标签的值,以反映数组

中的正确数据

把你的heredoc分成两部分,foreach在中间:

<?php
echo <<<HTML
    <form method="post" class="form">
    <label for="datafalta">Data da falta</label>
    <input id="datafalta" type="date" value="{$dateToday}"  name="datafalta"/>
    <label for="alunofalta">Selecionar aluno</label>
    <select name="aluno">
         <option value="0" selected></option>
HTML;
        foreach ($calfaltas as $a) {
            echo "<option value='{$a->id}'>{$a->nome}</option>";
        }
echo <<<HTML
    </select><br /><br />
    <input type="submit" name="enviar" value="Enviar">
    </form>
HTML;
?>