php - 我想计算给定科目的总价并将其存储在数据库中

标签 php html mysql

我不知道如何使用 php 计算该主题的总价。 帮助我。

<div id="mydiv" style="display:none">   
   <input type="checkbox" name="subject[]" value="biology">biology<br>
   <input type="checkbox" name="subject[]" value="physics">physics<br>
   <input type="submit" value="Calculate" name="submit" class="wpcf7-submit">
</div>

<div id="mydiv1" style="display:none">
   <input type="checkbox" name="subject[]" value="maths">maths<br>
   <input type="checkbox" name="subject[]" value="science">science<br>
   <input type="submit" value="Calculate" name="submit" class="wpcf7-submit">
</div>

我想计算这个复选框的总价,并使用 php 将其名称存储在数据库中

php部分

if(isset($_POST['subject']))
    {
        $classes=$_POST['subject'];
            $prices = array(
        'biology' => 60,
        'physics' => 200

    );
            $sum = array();
    $getkeys = array_keys($_POST);
    foreach($prices as $key => $value)
    {
        if(in_array($key, $getkeys)) $sum[] = $value;
    }
    $ar=array_sum($sum);
    echo $ar;

        if($classes)
        {

        $subject = implode(',', $ar);

        $query="INSERT INTO feedetails (subjects,price) VALUES ('".$subject."','".$price."')";

        if(mysqli_query($conn,$query))
        {
            echo ("<SCRIPT LANGUAGE='Javascript'>
        window.alert('Your fee has been updated.Please proceed to pay.');
        window.location.href='payment.php';
        </SCRIPT>");
        }
        }   

最佳答案

看来您的求和策略不起作用,那里有很多问题,包括:

$getkeys = array_keys($_POST);

出现是为了让主题提交,但是它们在它们自己的 $_POST 子数组中,即 $_POST['subject ']

这会为您提供所需价格信息的总和,但是您需要测试数据库INSERT 代码并对其进行调试,以确保正确存储所需数据。

if (!empty($_POST['subject'])) {
    $prices = [
        'biology' => 60,
        'physics' => 200,
        'maths' => 300,
        'science' => 400,
    ];
    $sum = 0;

    foreach ($_POST['subject'] as $subject) {
        if (!empty($prices[$subject])) {
            $sum += $prices[$subject];
        }
    }
    echo '<pre>';
    echo '$sum ' . print_r($sum, true);
    echo '</pre>';
    exit;

    // process database inserts here
}

此外,在测试您的代码时,我注意到您隐藏了复选框,要解决此问题,请使用以下方法:

<div id="mydiv">   
    <input type="checkbox" name="subject[]" value="biology">biology<br>
    <input type="checkbox" name="subject[]" value="physics">physics<br>
    <input type="checkbox" name="subject[]" value="maths">maths<br>
    <input type="checkbox" name="subject[]" value="science">science<br>
    <input type="submit" value="Calculate" name="submit" class="wpcf7-submit">
</div>

关于php - 我想计算给定科目的总价并将其存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50740018/

相关文章:

nginx - php-fpm 进程监控/分析

php - 使用正则表达式通过php过滤xpath中的属性

css - 全屏视频 - 不显示全屏

php - 如何将 bcrypted 插入 mysql?

php - MySQL 查询的解析问题

html - 什么是 HTML 中的全局属性

javascript - jQuery 没有响应第一段隐藏

mysql重启自动int主键

php - json_encode 添加反斜杠

mysql - 如何允许用户登录MySQL?