如何在文本输入中添加foreach数组

时间:2018-03-28 08:28:16

标签: php

我有一个表单,我在其中输入namesurname和函数(结果一个选择),我在表格中显示foreach

我想为每个foreach记录添加一个按钮,该记录将使用行中的数据加载第一个表单,但我不能。

感谢您的帮助!

<?php
require_once 'functii/functii.php';
$r = functia();
$options = "";
while ($row = mysqli_fetch_array($r)) {
    $options = $options . "<option>$row[0]</option>";
}
?>
<form method="POST">
    <table id="add"><tr><td>Nume:</td><td><input type="text" name="nume"/></td></tr>
        <tr><td>Prenume:</td><td><input type="text" name="prenume"/></td></tr>
        <tr><td>Functia:</td><td><select name="functia"><?php echo $options; ?></select></td></tr>
        <tr><td>Activ:</td><td><input type="radio" name="activ"/></td></tr>
        <tr><td></td><td><input type="submit" name="adaugare" value="Adauga"/><input type="submit" name="modificare" value="Modifica"/></td></tr></table> 
</form>
<?php
if (isset($_POST['adaugare'])) {
    require_once 'functii/functii.php';
    $n = $_POST['nume'];
    $p = $_POST['prenume'];
    $f = $_POST['functia'];
    $r = adaug_utilizator($n, $p, $f);
}

require_once 'functii/functii.php';
$utilizatori = grid_utilizatori();
if (count($utilizatori) == 0) {
    print 'Nu sunt utilizatori adaugati';
} else {
    ?>
    <table id="view">
        <thead><tr><th colspan="4">Utilizatori adaugati</th></tr>
            <tr><th>Nume</th><th>Prenume</th><th>Functia</th></tr>
        </thead>
        <tbody>                
            <?php
            foreach ($utilizatori as $utilizator) {
                print "<tr>";
                print "<td>" . $utilizator['nume'] . "</td>";
                print "<td>" . $utilizator['prenume'] . "</td>";
                print "<td>" . $utilizator['denumire'] . "</td>";
                print "<td><input type='submit' name='modifica' value='Modifica'></td>";
                print "</tr>";
            }
            if (isset($_POST['modifica'])) {
                $_POST['nume'] = $utilizator['nume'];
                $_POST['prenume'] = $utilizator['prenume'];
                $_POST['functia'] = $utilizator['denumire'];
            }
            ?> 
        </tbody>
    </table>
    <?php
}
?>

1 个答案:

答案 0 :(得分:0)

您可以按如下方式执行循环:

<?php
foreach($utilizatori as $index => $utilizator){
?>
<input type='submit' name='modifica<?php echo ($index+1);?>' value='Modifica' class="clickBtn"></td>
<?php 
}
?>
具有上述循环名称属性的

将为modifica1,modifica2等。

现在,您希望根据点击代码顶部显示的表单的按钮来填充信息,我想是的。

为此,您可以使用jQuery:

$('.clickBtn').click(function(e){
   var buttonOfRowClicked = $(this).attr('name');
   var rowNumber = buttonOfRowClicked.substr(8);  // It will get 1,2,3 etc table row.

   $('input[name=nume]').val($(tr:nth-child(rowNumber) td:nth-child(1).val());
   $('input[name=prenume]').val($(tr:nth-child(rowNumber) td:nth-child(2).val());   //similarly fill other variables.
});

我没有通过执行检查代码。它是您运行代码的概述。我认为这个想法足以指导您的代码如何运作。