【问题标题】:Fetch company details on a click on button using jquery使用 jquery 单击按钮获取公司详细信息
【发布时间】:2020-03-03 15:17:44
【问题描述】:

我创建了一个表作为 company_list。该表由以下字段组成

1) 公司名称 2) 国家 3) 垂直

所以,假设有以下 5 家公司

公司名称:水、地、日、月、星

国家:水=英国,地球=英国,太阳=澳大利亚,月亮,=印度,星星=德国

纵向:水、地球、太阳 = WWF 和月亮、星 = 社会福利

第一个 HTML 是一个筛选选项

第一国第二垂直

所以,如果我选择英国国家,垂直应该自动选择 WWF(不包括 AUS 国家公司名称)

现在,发布这个我有一个按钮,首先获取符合上述条件的单个 COMPANY DETAILS。

代码,我设计的不是添加过滤器,而是获取每家公司。

请帮助解决这个问题。

1) 索引页面

<?php
$conn = mysqli_connect("localhost","root","","accounts");
$sql = "SELECT * FROM company_list";
$res= mysqli_query($conn,$sql);

$res1=mysqli_query($conn,$sql);
 ?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
    <!-- Bootstrap 3.3.7 -->
    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
    <!-- Font Awesome -->
    <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css">
    <!-- Ionicons -->
    <link rel="stylesheet" href="bower_components/Ionicons/css/ionicons.min.css">
    <!-- DataTables -->
    <link rel="stylesheet" href="bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">
    <!-- Theme style -->
    <link rel="stylesheet" href="dist/css/AdminLTE.min.css">
    <!-- AdminLTE Skins. Choose a skin from the css/skins
         folder instead of downloading all of them to reduce the load. -->
    <link rel="stylesheet" href="dist/css/skins/_all-skins.min.css">
    <style media="screen">
    .navbar-inverse {
      background-color: #4a8cbb;
      border-color: #4a8cbb;
    }
    #row1{
      margin-left: 100px;
    }
    </style>
  </head>
  <body>

    <nav class="navbar navbar-inverse">
      <div class="container-fluid">
      <div class="navbar-header">
          <select class="form-control">
            <?php while ($row=mysqli_fetch_array($res)):; ?>
              <option value="">SELECT COUNTRY</option>
                <option value=""><?php echo $row['country']; ?></option>
            <?php endwhile; ?>
          </select>
      </div>
      <div class="navbar-header" id="row1">
      <select class="form-control">
        <?php while ($row1=mysqli_fetch_array($res1)):; ?>
          <option value="">SELECT VERTICAL</option>
          <option value=""><?php echo $row1['vertical']; ?></option>
        <?php endwhile; ?>
      </select>
      </div>
      <div class="navbar-header" id="row1">
      <button id="fetch_company" class="btn btn-success btn-lg btn-block btn-huge">FETCH COMPANY DETAILS</button>
      </div>
    </div>
  </nav>

  <div class="row">
        <div class="col-md-3">
          Company Name:<span id="com_get_data"></span>
        </div>
  </div>
</body>

<script type="text/javascript" src="bower_components/jquery/dist/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){
  var count = 0;
  $("#fetch_company").click(function(){
    //alert("Working");
    count = count + 1;
    $("#com_get_data").load("get_data.php",{countNew:count});
  });
});
</script>

</html>

2)Get_data.php

<?php
$conn = mysqli_connect("localhost","root","","accounts");

$countNew = $_POST['countNew'];

$sql = "SELECT * FROM company_list LIMIT $countNew";
$res = mysqli_query($conn,$sql);

if (mysqli_num_rows($res) > 0) {

while ($row = mysqli_fetch_array($res)) {
  echo $row['company_name'];
}
}
 ?>

【问题讨论】:

  • 检查$_GET["countNew"]或者使用$.ajax inside post方法

标签: php jquery


【解决方案1】:

请使用$.ajax查看

jQuery 代码

<script type="text/javascript">
$(document).ready(function(){
  var count = 0;
  $("#fetch_company").click(function(){
    //alert("Working");
    count = count + 1;   
    $.ajax({
      type:"POST",
      url: "get_data.php",
      data:{countNew:count},
      cache: false,
     success: function(result){
        $("#com_get_data").html(result);
     }
    });
  });
});
</script>

PHP 代码

<?php
$conn = mysqli_connect("localhost","root","","accounts");

$countNew = $_POST['countNew'];

$sql = "SELECT * FROM company_list LIMIT $countNew";
$res = mysqli_query($conn,$sql);

if (mysqli_num_rows($res) > 0) {

while ($row = mysqli_fetch_array($res)) {
  echo $row['company_name'];
}
}
else
{
  echo 'No result found';
}
 ?>

注意:这里你循环获取数据,你需要在string array中添加数据,然后在JSON中返回数据

请在此处查看更多详细信息Click Here

【讨论】:

  • 感谢您的回复,您的代码与我的功能相同。我们如何确保 fetch 公司属于选定的国家和垂直从顶部的选择选项。谢谢你:)
  • 你不会基于company id得到company details
  • 还没有成功,还在尝试中
  • 你要根据下拉更改显示公司详情吗?
猜你喜欢
  • 1970-01-01
  • 2021-08-25
  • 1970-01-01
  • 2015-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-11
  • 1970-01-01
相关资源
最近更新 更多