使用POST或GET在不使用JS的情况下通过Loop在PHP内部发布来自更多输入标签的数据

时间:2019-04-07 19:24:15

标签: php html

我正在尝试更新HTMl表中任何行中的“支付价格”和“支付日期”。 我正在使用此表查看必须支付的发票,并且我有添加选项来仅支付部分价格。用户将能够在输入字段中输入任何价格,还可以选择支付价格的日期。然后,在用户单击“提交”按钮后,我要使用这些新数据更新数据库。 但是我在传递此数据时遇到问题。 我真的不知道我是否可以将GET方法用于表单,或者仅将POST方法用于表单。

$AktualDate = date('Y-m-d');

$sqli = "SELECT * FROM invoice WHERE Price != PayedPrice";                  
     $results = mysqli_query($conn, $sqli);
     if(mysqli_num_rows($results) > 0){ 

        echo"
        <table>
        <tr>
            <th>ID</th>
            <th>Firm</th>
            <th>Price</th>          
            <th>Payed Price</th>
            <th>Payed Date</th>
        </tr>               
            ";

        while($rows=mysqli_fetch_array($results)){

            $ID = $rows['ID'];
            $Firm = $rows['Firm'];
            $Price = $rows['Price'];
            $PayedPrice = $rows['PayedPrice '];
            $PayedDate = $rows['PayedDate '];

            echo"
            <tr>
            <form>";?><form action="payed.php" method="GET">
                <?php echo"
                <td>$ID</td>
                <td>$Firm</td>
                <td>$Price</td>
                <td><input type='text' name='PayedPrice ' value=".$PayedPrice ."></td>
                <td><input type='date' name='PayedDate ' value=".$AktualDate."></td>
                <td><button type='submit' name='pay'>PAY</button></td>          
            </form>
            </tr>

            ";
        }?>
        </table>

在payed.php文件中,我有简单的代码

if(isset($_GET['pay']))
    {

            $ID = $_GET['ID'];
            $PayedPrice= $_GET['PayedPrice'];
            $PayedDate = $_GET['PayedDate '];

        $sql = "UPDATE invoice SET PayedDate = '".$PayedDate ."', PayedPrice= '".$PayedPrice."' WHERE ID = '".$ID."'";
        mysqli_query($conn, $sql );

    }
?>

现在,当我按下Button时,我的URL中仅收到一些“奇怪的”更新,其中添加了此?PayedPrice = 4545&PayedDAte = 2019-04-07&pay = 但是问题是整个页面没有重新加载,我看到我没有将这些数据传递给我的下一个php文件。 没有使用JS,JQuery等的解决方案吗?

thx

1 个答案:

答案 0 :(得分:0)

请尝试这个

<?php
$AktualDate = date('Y-m-d');
$sqli = "SELECT * FROM invoice WHERE Price != PayedPrice";                  
$results = mysqli_query($conn, $sqli);
if(mysqli_num_rows($results) > 0){ 
    echo"
    <table>
        <tr>
            <th>ID</th>
            <th>Firm</th>
            <th>Price</th>          
            <th>Payed Price</th>
            <th>Payed Date</th>
        </tr>               
    ";
    while($rows=mysqli_fetch_array($results)){
        $ID = $rows['ID'];
        $Firm = $rows['Firm'];
        $Price = $rows['Price'];
        $PayedPrice = $rows['PayedPrice '];
        $PayedDate = $rows['PayedDate '];
        echo"
        <tr>";
    ?>
        <form action="payed.php" method="GET">
        <?php echo"
            <td>" . $ID . "</td>
            <td>" . $Firm . "</td>
            <td>" . $Price . "</td>
            <td><input type='text' name='PayedPrice ' value=" . $PayedPrice . "></td>
            <td><input type='date' name='PayedDate ' value=" . $AktualDate . "></td>
            <td><button type='submit' name='pay'>PAY</button></td>
        </form>
    </tr>
    ";
    }
}
?>
</table>