Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ODBC PDO和Ajax的问题_Javascript_Php_Jquery_Ajax_Pdo - Fatal编程技术网

Javascript ODBC PDO和Ajax的问题

Javascript ODBC PDO和Ajax的问题,javascript,php,jquery,ajax,pdo,Javascript,Php,Jquery,Ajax,Pdo,我正在为一个工作项目工作,我遇到了一些问题。 我正在基于PDO查询和ajax创建动态元素,我已经搜索了又搜索以解决我的具体问题。基本上,我有两个从数据库响应动态添加的选择框,无论选择哪个选项,所有动态创建的按钮都完全相同 我还为每个机架/托盘创建了计时器,同样的问题也出现在计时器上。只有机架H托盘8的记录 My db_connect.php $first = "odbc:TIMERODBC"; $user = "exampleuser"; $pass = "examplepass"; $pdo

我正在为一个工作项目工作,我遇到了一些问题。 我正在基于PDO查询和ajax创建动态元素,我已经搜索了又搜索以解决我的具体问题。基本上,我有两个从数据库响应动态添加的选择框,无论选择哪个选项,所有动态创建的按钮都完全相同

我还为每个机架/托盘创建了计时器,同样的问题也出现在计时器上。只有机架H托盘8的记录

My db_connect.php

$first = "odbc:TIMERODBC";
$user = "exampleuser";
$pass = "examplepass";
$pdo = new PDO($first,$user,$pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
下面是查询数据库的class.db.php文件

public function selectOven()
  {
    try{
      $stmt = $this->conn->query("SELECT sub.equipName FROM STR_EquipSubCategory sub LEFT JOIN STR_EquipCategory category ON category.categoryID = sub.categoryID GROUP BY sub.equipName");
      $data = $stmt->fetchAll();
      foreach($data as $row)
      {
        echo "<option value=" . $row['equipName'] . "><strong>" . $row["equipName"] . "</strong></option>";
      }
    }
    catch(PDOException $e) {
      return $e->getMessage();
    }
  }
  public function selectRack($oven) {
    try{

      $sth = $this->conn->prepare('SELECT storageBayName FROM STR_EquipSubCategory WHERE equipName =:oven');
      $sth->bindParam(':oven',$oven,PDO::PARAM_STR);
      $sth->execute();
      $data = $sth->fetchAll();
      echo "<select id='rack' class='custom-select mb-2'>Rack";
      echo "<option value ='Select Rack'></option>";
      foreach($data as $row)
      {
        echo "<option id=".$row['storageBayName']." value=". $row["storageBayName"] . ">". $row["storageBayName"] . "</option>";
      }
      echo "<select>";
    }
    catch(PDOException $e) {
      return $e->getMessage();
    }
  }

  public function selectRackTray($oven,$rack) {
    try{
      $sth = $this->conn->prepare("EXECUTE STR_GetTimerOpenTraysSp ?, ?");
      $sth->bindParam(1,$oven,PDO::PARAM_STR);
      $sth->bindParam(2,$rack,PDO::PARAM_STR);
      $sth->execute();
      $data = $sth->fetchAll();
      foreach($data as $row)
      {
        if(($row['material'] != 0) ) {
          echo "<div class='row'>";
          echo "<button type='button' id='tray".$row['storageBayName']." ". $row['sublevelID'] ."' class='btn btn-danger' data-toggle='popover'>Tray " .$row['sublevelID'] . "</button>";
          echo "</div>";
        }
        else {
          echo "<div class='row'>";
          echo "<button type='button' id='emptyTray".$row['storageBayName']. " ".$row['sublevelID'] ."' class='btn btn-success'>Tray " .$row['sublevelID'] . "</button>";
          echo "</div>"; 
        }
      }
    }
    catch(PDOException $e) {
      return $e->getMessage();
    }
  }

如果有人能帮我,我将不胜感激。请注意,我对PHP不是很有经验,但其他一切似乎都正常工作。

我的问题不在于ajax、PHP或PDO语句。我在调用的存储过程上运行了一些测试,发现了问题。谢谢你试图帮助我

你的问题是什么?«。。。无论选择哪个选项,所有动态创建的按钮都完全相同。»我想这就是问题所在。我需要停止创建其他机架的按钮,使其与机架H完全相同。基本上,当输入机架H的信息时,当G和F均为空时,机架G和机架F中的其他托盘与机架H的外观相同。如果你看我上面贴的计时器图片,唯一应该显示计时器的托盘是机架H托盘8,但机架G和F的托盘8在应该显示为空时都显示计时器。
$(document).ready(function(){
  $("select#oven").change(function(){
    var selectedOven = $("#oven option:selected").val();
    $.ajax({
      type: "POST",
      url: "process-request.php",
      data: { oven : selectedOven }
    }).done(function(data){
      $("#rackResponse").html(data);
    });
  });
});
$(document).on('change', "select#rack", function() {
  var  selectedRack = ($(this).val());
  var selectedOven = ($("#oven option:selected").text());

  $.ajax({
      type: "POST",
      url: "process-a-request.php",
      data:
        { 
          rack: selectedRack,
          oven: selectedOven
        },
    }).done(function(data){
      $("#tResponse").html(data);
    });
});