php - 使用数据库中的数据填写表格

标签 php mysql arrays forms

我有一个表单,其中有一个用于搜索记录的字段,并从结果中使用搜索结果填写表单的其余字段。

搜索是通过搜索按钮的操作中的 get 方法执行的。

在本例中,表单字段已使用收集到的 locador 106000 号数据来完成。

http://localhost/sfi/index.php?number_locator=106000&search-locator=

Form without errores

我的问题是,当我在没有进行任何搜索的情况下访问主页时,所有其他字段都会消失。

这是因为它们在 foreach 内?

http://localhost/sfi/

Form empty

如果我离开 foreach 而不关闭,表单会在字段中返回错误。

<?php foreach ($new_array as $dataForm) ?>

Form with error
代码:

<?php

if (isset($_GET['search-locator'])){
    // Connect to DB
    $conex = mysql_connect("localhost","root","");

    // Select DB
    $selectDB = mysql_select_db("payment_locations",$conex);

    // Check that the search field is not empty
    if (empty($_GET['number_locator'])) {
        $message = "El campo n° de locador está vacio";
        echo "<script type='text/javascript'>
                  alert('$message');
              </script>";
    }

    // Start search
    else {      
        // Save field content
        $search = $_GET['number_locator'];      
        // Query
        $sql = "SELECT * FROM without_retention WHERE id_locator like '$search'";
        // Execute query
        $result = mysql_query($sql);

        if (mysql_num_rows($result) < 1) {
            echo "No hay resultados";
        }

        else {
            while ($row = mysql_fetch_array($result)){ 
                $new_array[] = $row;
            } 
        }
    }
}
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">

    <?php foreach ($new_array as $dataForm): ?> 

            <div class="row col-centered-form-input">

                <!-- 
                <div class="col-md-12">
                    <div class="form-group">
                        <label class="form-font" for="inputEmail">Lugar y fecha de pago:</label>
                        <input type="text" id="inputDate" class="form-control input-borders form-font input-size" value="<?php echo $fecha; ?>">
                    </div>
                </div>   
                -->

                <div class="col-md-12">
                    <div class="form-group">
                    <label class="form-font input-size" for="inputEmail">Lugar y fecha de pago:</label>
                        <div class="input-group">
                            <input id="date-picker-2" type="text" class="date-picker form-control input-borders" />
                            <label for="date-picker-2" class="input-borders input-group-addon btn">
                            <span class="glyphicon glyphicon-calendar"></span>
                        </label>
                    </div>
                </div>
            </div>

            <div class="col-md-12">
                <div class="form-group">
                    <label class="form-font" for="inputEmail">Recibí de Publicartel la suma de:</label>
                    <input type="text" class="form-control input-borders input-size" maxlength="15" value="<?php echo $dataForm['payment']; ?>" disabled>
                </div>
            </div>
        </div>

    <?php endforeach; ?>

        <div class="form-group">
            <div class="row col-centered-form-input">    
                <div class="col-xs-6">
                </div>
                <div class="col-xs-6">
                    <label class="form-font input-medium-size-right" for="inputEmail">Firma:</label>
                    <input class="form-control input-medium-size-right input-borders" type="text">
                 </div>
             </div>
         </div>

出于逻辑原因,我没有放置所有字段以不填充代码主题:)

最佳答案

可以这样吗?您可以检查数据,如果数据为空则显示默认表单。

<?php
if(!empty($new_array)){
    foreach ($new_array as $dataForm){

        //that your form elements

    }
}else{

    // here the default form elements
}
?>

关于php - 使用数据库中的数据填写表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35924431/

相关文章:

javascript - 一旦调整大小的图像提供下载,隐藏加载 gif

mysql - 不使用mysql now()获取当前时间,精确到分钟

php - 如何使用 php 插入后更新房间状态

c - 指针数组的不同声明

php - 使用innerHTML将带有撇号的格式化文本从javascript传递到html元素

php - 如何从包含一组重复值(clm1、clm2、cl3)的表中选择 id?

php - 如何使用 php 和 ajax 设置倒计时?

mysql - SQLYog 为 MySQL 设置变量返回 null

c++ - 与它所属的类相同类型的对象的数组是否会创建无限实例?

C++类中的动态数组