PHP - foreach循环中的Echo输入值

时间:2017-11-20 12:50:13

标签: php

在我的表单中,我在add.php页面中使用php生成输入字段:

<?php 
$inc = 0;

$inputNames = array( 
    array("Name", 'r_name', 'rd-id-'),
    array("Surname", 'r_surname', 'rd-id-'),
    array("Phone", 'r_phone', 'rd-id-'),
    array("Email", 'r_email', 'rd-id-'),
);

foreach ($inputNames as $inp) { ?>
    <div class="col-md-6">
        <div class="form-group">
            <label><?php echo $inp[0]; ?></label>
            <input id="<?php echo $inp[2] . $inc; ?>" type="text" 
            class="form-control border-input" 
            placeholder="<?php echo $inp[0]; ?>" 
            name="<?php echo $inp[1]; ?>" 
            value="">
        </div>
    </div>
    <?php 
    $inc++;
}
?>

问题是,如何在此循环中回显数据库中的值? 例如,在我的edit.php页面中,我有这样的变量:

    $name = $_POST['r_name'];
    $surname = $_POST['r_surname'];
    $phone = $_POST['r_phone'];
    $email= $_POST['r_email'];

我试图修改$ inputNames数组,添加第三个值,如:     <?php echo inp[3]; ?> 但它没有用。

1 个答案:

答案 0 :(得分:0)

Use while loop instead of foreach 

    while($inp = mysql_fetch_assoc($result))
    { 
        echo '<div class="col-md-6">
            <div class="form-group">
                <label>'.$inp["colname1"].'</label>
                    <input id="'.$inp["colname2"].$inc.'" type="text" class="form control border-input" placeholder="'.$inp["colname3"].'" name="'.$inp["colname3"].'" value="">
                </div>
        </div>';
}