【问题标题】:Codeigniter - loop form input with foreachCodeigniter - 带有 foreach 的循环表单输入
【发布时间】:2019-03-24 01:42:19
【问题描述】:

我想问一下如何让代码可以循环输入,同时还可以调用数据库到输入(我想通过使用数据库来生成值)

View.php

<?php
$i=1;
while ($i<=10){
foreach($tampilan as $u){
    ?>
    <form action="admin/guru_proses" method="POST">
    <table>
        <?php
    echo '
            <tr>
            <td><input type="text" name="id_guru" value="<?php echo $u->id_guru?>"</td>
            <td><input type="text" name="nama_guru"></td>
            </tr>
     ';
    ?>

        <?php
    $i=$i+1;
}}
?>
<tr><td>
    <input type="submit">
</td></tr>
</table>
        </form>

&lt;?php echo $u-&gt;id_guru?&gt; 似乎运行不佳, 打开就变成这样了

the picture of the view

【问题讨论】:

  • 你已经在 php echo block try value="'.$u->id_gurue.'"
  • 欢迎。你已经在 PHP 中了,不需要&lt;? ?&gt;,使用value="' . $u-&gt;id_guru . '"

标签: php codeigniter loops foreach


【解决方案1】:

将单引号更改为用于 echo 的双引号。PHP 始终将单引号解析为字符串 litrel 以使用字符串内的变量始终使用双引号,并且不能在 php 标签内使用 php 标签。试试这个

<?php
$i=1;
while ($i<=10){
foreach($tampilan as $u){
    ?>
    <form action="admin/guru_proses" method="POST">
    <table>
        <?php
    echo "
            <tr>
            <td><input type='text' name='id_guru' value=$u->id_guru</td>
            <td><input type='text' name='nama_guru'></td>
            </tr>
     ";
    ?>

        <?php
    $i=$i+1;
}}
?>
<tr><td>
    <input type="submit">
</td></tr>
</table>
</form>

【讨论】:

    【解决方案2】:

    第二个 php 标签被用作一个简单的字符串。我会把整个事情改成更具可读性的东西。

    <?php $i=1; ?>
    <?php while ($i<=10): ?>
        <?php foreach($tampilan as $u): ?>
        <form action="admin/guru_proses" method="POST">
            <table>
                <tr>
                    <td><input type="text" name="id_guru" value="<?php echo $u->id_guru?>"</td>
                    <td><input type="text" name="nama_guru"></td>
                </tr>
            <?php $i++ ?>;
        <?php endforeach; ?>
    <?php endwhile; ?>
            <tr>
                <td>
                    <input type="submit">
                </td>
            </tr>
        </table>
    </form>
    

    【讨论】:

    • 它确实有效并获得了数据库,但有 ;出于某种原因,在每个输入中,仅使用括号而不是使用 endforeach 不是更好吗?
    • 我认为在显示 html 时使用 {} 会很快变得非常混乱,因为要知道括号实际关闭的内容会困难得多。
    【解决方案3】:

    你不能在php标签内使用php标签。

    请替换下一行

    <td><input type="text" name="id_guru" value="<?php echo $u->id_guru?>"</td>
    

    <td><input type="text" name="id_guru" value="'.$u->id_guru.'"></td>
    

    【讨论】:

      猜你喜欢
      • 2016-12-09
      • 1970-01-01
      • 2014-01-20
      • 2013-01-25
      • 2016-02-21
      • 2010-11-19
      • 2018-02-20
      • 1970-01-01
      • 2014-03-18
      相关资源
      最近更新 更多