在Mysql数据库中插入动态选择框值并显示数据提交消息

Posted

技术标签:

【中文标题】在Mysql数据库中插入动态选择框值并显示数据提交消息【英文标题】:Insert Dynamic Select Box Value In Mysql Database And Show Data Submitted Message 【发布时间】:2017-10-22 12:57:20 【问题描述】:

在下面的表格中,我根据资产标题值从 mysql 数据库加载问题和答案,并将动态自定义问题值提交到数据库。 (这工作正常) 但我的问题是,当表单值提交到数据库的自定义问题少于 15 个的资产时,我没有收到消息。

如果条件...

,我想我在 createlead.php 文件中做错了什么...

请帮忙。

如果您认为这个问题可以用其他方法解决,请告诉我。

根据资产标题值从mysql数据库加载动态自定义问题

<?php  
 //load_data.php  
 $connect = mysqli_connect("localhost", "root", "", "test");  
 $output = '';
 if(isset($_POST["assetid"]))  
   
  if($_POST["assetid"] != '')
    
       $sql = "SELECT * FROM cq WHERE assetid = '".$_POST["assetid"]."'";

    
  else
    
       $sql = "SELECT * FROM cq WHERE assetid = 'akash'";
       // i dont want to load any database so used wrong query

  
  $result = mysqli_query($connect, $sql);
  $quesno = 1;

  while($row = mysqli_fetch_array($result))  
    
       $output .= '<div class="col-sm-6">';
       $output .= '<div class="form-group">';
       $output .= '<label for="campaignname">'.$row["cqname"].'</label>';
       $output .= '<select name="cq'.$quesno.'" size="5" class="form-control" required>';
       // $output .= '<div style="border:1px solid #ccc; padding:20px; margin-bottom:20px;">'.$row["product_name"].'</div>';
       // $output .= '<tr><td>'.$row["cqname"].'<br></td>';
       $output .= '<option value="" required>Select Custom Question Answer</option>
                   <option value="'.$row["cqa1"].'">'.$row["cqa1"].'</option>
                   <option value="'.$row["cqa2"].'">'.$row["cqa2"].'</option>
                    <option value="'.$row["cqa3"].'">'.$row["cqa3"].'</option>
                    <option value="'.$row["cqa4"].'">'.$row["cqa4"].'</option>
                    <option value="'.$row["cqa5"].'">'.$row["cqa5"].'</option>
                    <option value="'.$row["cqa6"].'">'.$row["cqa6"].'</option>
                    <option value="'.$row["cqa7"].'">'.$row["cqa7"].'</option>
                    <option value="'.$row["cqa8"].'">'.$row["cqa8"].'</option>
                    <option value="'.$row["cqa9"].'">'.$row["cqa9"].'</option>
                    <option value="'.$row["cqa10"].'">'.$row["cqa10"].'</option>
                    <option value="'.$row["cqa11"].'">'.$row["cqa11"].'</option>
                    <option value="'.$row["cqa12"].'">'.$row["cqa12"].'</option>
                    <option value="'.$row["cqa13"].'">'.$row["cqa13"].'</option>
                    <option value="'.$row["cqa14"].'">'.$row["cqa14"].'</option>
                    <option value="'.$row["cqa15"].'">'.$row["cqa15"].'</option>
                    <option value="'.$row["cqa16"].'">'.$row["cqa16"].'</option>
                    <option value="'.$row["cqa17"].'">'.$row["cqa17"].'</option>
                    <option value="'.$row["cqa18"].'">'.$row["cqa18"].'</option>
                    <option value="'.$row["cqa19"].'">'.$row["cqa19"].'</option>
                    <option value="'.$row["cqa20"].'">'.$row["cqa20"].'</option>
                    <option value="'.$row["cqa21"].'">'.$row["cqa21"].'</option>

                   </select>';
       // $output .= '<tr><td colspan="10"><hr></td></tr>';
       $output .= '</div></div></div>';
       $quesno++;
    
  echo $output;
   
 ?>

Jquery(将表单字段值发送到 php 文件):-

$(document).ready(function() 

    // submit form
    $("#newleadform").unbind('submit').bind('submit', function() 

        $(".text-danger").remove();

        var form = $(this);

        // validation 
    var assettitle = $("#assettitle").val();
    var customquestion1 = $("#cq1").val();
    var customquestion2 = $("#cq2").val();
    var customquestion3 = $("#cq3").val();
    var customquestion4 = $("#cq4").val();
    var customquestion5 = $("#cq5").val();
    var customquestion6 = $("#cq6").val();
    var customquestion7 = $("#cq7").val();
    var customquestion8 = $("#cq8").val();
    var customquestion9 = $("#cq9").val();
    var customquestion10 = $("#cq10").val();
    var customquestion11 = $("#cq11").val();
    var customquestion12 = $("#cq12").val();
    var customquestion13 = $("#cq13").val();
    var customquestion14 = $("#cq14").val();
    var customquestion15 = $("#cq15").val();

        if(assettitle) 
            //submit the form to server
            $.ajax(
                url : '../pages/php_action/addnewlead/createlead.php',
                type : 'POST',
                data : form.serialize(),
                dataType : 'json',
                success:function(response) 

                    // remove the error 
                    $(".form-group").removeClass('has-error').removeClass('has-success');

                    if(response.success == true) 
                        $(".messages").html('<div class="alert alert-success alert-dismissible" role="alert">'+
                          '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>'+
                          '<strong> <span class="glyphicon glyphicon-ok-sign"></span> </strong>'+response.messages+
                        '</div>');

                        // reset the form
                        $("#newleadform")[0].reset();

                     else 
                        $(".messages").html('<div class="alert alert-warning alert-dismissible" role="alert">'+
                          '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>'+
                          '<strong> <span class="glyphicon glyphicon-exclamation-sign"></span> </strong>'+response.messages+
                        '</div>');
                      // /else
                 // success  
            ); // ajax subit               
         /// if


        return false;
    ); // /submit form for create member
); // /add modal

createlead.php(提交表单字段值到数据库):-

<?php 

require_once 'db_config.php';

//if form is submitted
if($_POST)     
$validator = array('success' => false, 'messages' => array());

$assettitle= $_POST['assettitle'];
$customquestion1= $_POST['cq1'];
$customquestion2= $_POST['cq2'];
$customquestion3= $_POST['cq3'];
$customquestion4= $_POST['cq4'];
$customquestion5= $_POST['cq5'];
$customquestion6= $_POST['cq6'];
$customquestion7= $_POST['cq7'];
$customquestion8= $_POST['cq8'];
$customquestion9= $_POST['cq9'];
$customquestion10= $_POST['cq10'];
$customquestion11= $_POST['cq11'];
$customquestion12= $_POST['cq12'];
$customquestion13= $_POST['cq13'];
$customquestion14= $_POST['cq14'];
$customquestion15= $_POST['cq15'];





$sql = "INSERT INTO ltfs (assettitle, customquestion1, customquestion2, customquestion3, customquestion4, customquestion5, customquestion6, customquestion7, customquestion8, customquestion9, customquestion10, customquestion11, customquestion12, customquestion13, customquestion14, customquestion15) VALUES ('$assettitle', '$customquestion1', '$customquestion2', '$customquestion3', '$customquestion4', '$customquestion5', '$customquestion6', '$customquestion7', '$customquestion8', '$customquestion9', '$customquestion10', '$customquestion11', '$customquestion12', '$customquestion13', '$customquestion14', '$customquestion15')";


$query = $connect->query($sql);


if($query === TRUE) 
    $validator['success'] = true;
    $validator['messages'] = "Your lead successfully submited to quality team";     
 else         
    $validator['success'] = false;
    $validator['messages'] = "Error while adding the lead information";


// close the database connection
$connect->close();

echo json_encode($validator);


【问题讨论】:

“针对自定义问题少于 15 个的资产” - 我看不到您在哪里检查 &lt;15 只有当所有 15 个自定义问题值都插入数据库时​​,我才会收到消息……我想我在这里做错了。 if($query === TRUE) $validator['success'] = true; $validator['messages'] = "您的潜在客户已成功提交给质量团队"; 其他 $validator['success'] = false; $validator['messages'] = "添加线索信息时出错"; 【参考方案1】:

我认为这里做错了

if($query === TRUE)

你可以这样做

if($query)//you messageelse//error message

【讨论】:

谢谢@ShahzaibChadhar。但这不是工作的兄弟。这仅适用于有 15 个问题的资产。 (与我的代码相同 [ if($query === TRUE) ] )对于自定义问题字段值少于 15 个的资产,将在数据库中插入但不显示消息。

以上是关于在Mysql数据库中插入动态选择框值并显示数据提交消息的主要内容,如果未能解决你的问题,请参考以下文章

如何从下拉列表中获取值并插入 MySQL Workbench?

Jquery:更改选择框值并激活单击状态

如何使用两种不同的数据类型时间和文本创建动态输入值并插入一列

在 access 2007 中更新组合框值

循环遍历列中的数据框值并使用 SQL 将它们用作 FROM 子句

mysql存储过程,选择最大值并插入值并分配给变量