当前位置: 首页 > 面试题库 >

没有将数据添加到数据库中,也没有在使用AJAX和PHP的表追加中显示

戚俊美
2023-03-14
问题内容

在此链接中,我仍然存在相同的问题。因此,我使用了该append方法。这是AJAX代码:

<script>
function addFunction()
{
    var selectW = $('#insert_new').val();
    var selectW = $('#selectW').val();
    var select_at = $('#select_at').val();
    var pay = $('#pay').val();
    var facture = $('#facture').val();
    var select_opt = $('#select_opt').val();

    if(pay!="")
    {
        $.ajax({
            data: {'text': insert_new, 'text': selectW, 'text': select_at, 'text': pay, 'text': facture, 'text': select_opt},
            type: "post",
            url: "insert.php",
            success: function(response){
              if(response=="success")
              {
                $('#incident_table').append('<tr><td>'+selectW+'</td><td>'+select_at+'</td><td>'+pay+'</td><td>'+facture+'</td><td>'+select_opt+'</td></tr>');
                $('#selectW').val('');
                $('#select_at').val('');
                $('#pay').val('');
                $('#facture').val('');
                $('#select_opt').val('');
              }
              else
              {
                alert("No data added");
              }
            },
            error: function(){
                alert('error; ' + eval(error));
            }
        });
    }
    else
    {
        alert("Specify a value of payment please!!");
    }
}
</script>

这里是我去掉表格action=insert.phpmethod=post并转化按钮type=submit进入button我的<form>。所以形式是:

    <form name="insertForm" id="form1">
<input type="hidden" name="insert" value="true">
    <tr>
        <td align="center">
          <select id="selectW" name="type">
            <option value="لم يتم التحديد">اختر النوع</option>
            <option value="دولارات">دولارات</option>
            <option value="أيام + دولارات">أيام + دولارات</option>
            <option value="بطاقات">بطاقات</option>
            <option value="هواتف">هواتف</option>
            <option value="اكسسوارات">اكسسوارات</option>
            <option value="تسديد فواتير">تسديد فواتير</option>
          </select>
          <!--<select>
          <?php foreach($result5 as $rows){ ?>
            <option value="<?php echo $rows['item_name'] ?>"><?php echo $rows['item_name'] ?></option>
            <?php } ?>
          </select>-->
          </td>
        <td align="center"><select id="select_at" name="alfa_touch">
            <option value="غير محدد">Not Required</option>
            <option value="Alfa">Alfa</option>
            <option value="Touch">Touch</option></select></td>
        <td align="center"><input type="text" id="pay" name="pay"/></td>
        <td align="center"><input type="text" id="facture" name="facture" placeholder="في حال دفع الفواتير عبر omt"/></td>
        <td align="center"><select id="select_opt" name="currency">
            <option value="9">ليرة</option>
            <option value="10">دولار</option>
            </select></td>

        <td align="center"><input type="button" id="insert_new" onClick="addFunction()" name="insert_new" value="اضافة" />

      </td>

      </tr>
      </form>

这是我的insert.php文件,在我的项目中,我有很长的代码用于不同的提交按钮,但是我只会发布用于此AJAX函数的代码:

    $selectOpt1="";
    if(isset($_REQUEST['insert_new'])){

error_reporting(E_ALL); 
require_once ('../include/global.php');
$selectOpt1 = $_REQUEST['select_opt'];
    if($selectOpt1=="9"){
        $type = $_REQUEST['selectW'];
        $provider = $_REQUEST['select_at'];
        $pay = $_REQUEST['pay'];
        $facture = $_REQUEST['facture'];
        try{
            $query = "INSERT INTO sales
            (type, provider, pay, facture, date_now, time_now) 
            VALUES
            (:type, :provider, :pay, :facture, :date, now())";
            $stmt = $conn->prepare($query);
            $stmt->bindValue(":type", $type);
            $stmt->bindValue(":provider", $provider);
            $stmt->bindValue(":pay", $pay);  
            $stmt->bindValue(":facture", $facture);
            $stmt->bindValue(":date", date("y-m-d"));
            $count = $stmt->execute();
            //header("location: home.php");
            echo "success";
            //$last_id = $conn->lastInsertId();
            //echo $last_id;
        }
        catch(PDOException $e) {
            echo $e->getMessage();
            //header("location: ../pages/insert_false.php?id=".$projid);
            print_r($conn->errorInfo());

        }


    }

    if($selectOpt1=="10"){
        $type = $_REQUEST['type'];
        $provider = $_REQUEST['alfa_touch'];
        $payL = $_REQUEST['pay'];
        $pay = $payL*1500;
        $facture = $_REQUEST['facture'];
        try{
            $query = "INSERT INTO sales
            (type, provider, pay, facture, date_now, time_now) 
            VALUES
            (:type, :provider, :pay, :facture, :date, now())";
            $stmt = $conn->prepare($query);
            $stmt->bindValue(":type", $type);
            $stmt->bindValue(":provider", $provider);
            $stmt->bindValue(":pay", $pay);  
            $stmt->bindValue(":facture", $facture);
            $stmt->bindValue(":date", date("y-m-d"));
            $count = $stmt->execute();
            echo "success";
            //header("location: home.php");

        }
        catch(PDOException $e) {
            echo $e->getMessage();
            //header("location: ../pages/insert_false.php?id=".$projid);
            print_r($conn->errorInfo());

        }


    }
    }

在控制台网络中,我具有以下值:

在此处输入图片说明

并且在控制台中没有错误。我一直看到警报:没有添加数据。

编辑
我得到了以下错误消息:insert_buy.php中未定义的select_opt(我将文件从insert.php更改为insert_buy.php):

在此处输入图片说明


问题答案:

尝试将ajax中的数据更改为此

data: {'insert_new': 'insert_new', 'selectW': selectW, 'select_at': select_at, 'pay': pay, 'facture': facture, 'select_opt': select_opt},

您没有得到任何值,因为您的数据变量与$ _request []变量不匹配



 类似资料:
  • 问题内容: 我需要将数据“添加”到已经包含数据的字段中,而不会删除当前的内容。例如,如果该字段包含HTML,则需要向该字段添加其他HTML。是否存在将执行此操作的SQL调用,或者我需要调用该字段中的数据,将新数据连接到现有数据,然后将其重新加载到数据库中? 问题答案:

  • 我试图比较两个id,并将一个属性附加到现有的本地存储数据中。在循环中。 这是显示示例数据的代码 简单地说,我试图检查

  • 我在生产中有一个基于Hibernate的应用程序,有一个大型数据库。我需要在这个应用程序中向两个实体(两个表)添加审计,我决定使用Envers。 对于每次插入、更新或删除,Envers都会向实体的审核表中添加一条新记录。 如果从应用程序一开始就支持Envers,那么审计表将在实体创建(INSERT)时填充。 Envers留档非常薄,没有提到任何关于将Envers添加到现有应用程序的内容。 如果我简

  • 问题内容: 我正在显示此示例产品表。我需要在不使用结果集的情况下将所有表日期合并到一个jsp中。我尝试完成这一部分: 我需要将所有表数据添加到列表或?? 并使用方法将其退回我该怎么办? 问题答案: 使您的方法返回a 而不是单个。 然后,在您的JSP文件中,迭代返回的列表:

  • 基本上,我想根据ID更改状态。没有错误,但它没有更新。 index.php booking.php

  • 我需要将多个列附加到现有的spark dataframe,其中列名称在列表中给定,假设新列的值是常量,例如给定的输入列和dataframe是 并且在附加两列后,假设 col1 的常量值为“val1”,col2 的常量值为“val2”,则输出数据帧应为 我已经编写了一个函数来追加列 有没有更好的方式,更具功能性的方式去做。 谢啦