2个几乎相同的Jquery代码,但只有一个有效

时间:2018-08-30 06:34:18

标签: javascript php jquery sql json

因此,我正在为俱乐部设计网站的后端。您应该能够查看和编辑带有信息的表。现在我只需要2张桌子。一个用于会员,另一个用于俱乐部的活动。成员的东西工作正常,因此我复制粘贴了代码,在各处修改了一些小东西,并希望它也能用于事件。但事实并非如此。而且我找不到我犯错的地方。

因此,这是用于显示成员表的JQuery:

$(document).ready(function(){
    $("#personen").click(function(){
      $.ajax({
        url: '/website/administrator/components/com_backend/Personen_AJAX.php',
        success: function(data,status)
        {
          createTableByJqueryEach2(data);             
        },
        async:   true,
        dataType: 'json'
      }); 
    });
  });

  function createTableByJqueryEach2(data)
  {

  var eTable="<table><thead><tr><th colspan='5'>Created by for loop</th></tr><tr><th>Titel</th><th>Vorname</th><th>Name</th><th>Unternehmen</th><th>Gruppe</th</tr></thead><tbody>"
  $.each(data,function(index, row){
    // eTable += "<tr>";
    // eTable += "<td>"+(data)[i]['Titel']+"</td>";
    // eTable += "<td>"+(data)[i]['Vorname']+"</td>";
    // eTable += "<td>"+(data)[i]['Name']+"</td>";
    // eTable += "<td>"+(data)[i]['Unternehmen']+"</td>";
    // eTable += "<td>"+(data)[i]['Gruppe']+"</td>";
    // eTable += "</tr>";

    eTable += "<tr>";
    $.each(row,function(key,value){
      eTable += "<td>"+value+"</td>";
    });
    eTable += "</tr>";
  });
  eTable +="</tbody></table>";
  $('#eachTable').html(eTable);
}

以及用于显示成员表的PHP:

<?php 
    include($_SERVER['DOCUMENT_ROOT'].'/website/dbConnection.php');

    function filterTable($searchquery)  
    {   
        $filter_Result = mysqli_query($GLOBALS['connect'], $searchquery);
        return $filter_Result;
    }

    $searchquery = "SELECT Titel, Vorname, Nachname, Unternehmen, Gruppe FROM mitglieder";
    $searchresult = filterTable($searchquery) or die("Table cant be displayed");

    $data = mysqli_fetch_all($searchresult);
    echo json_encode($data);

?>

这两个代码段有效,但接下来的两个代码段几乎相同。

现在使用JQuery向我显示事件表:

$(document).ready(function(){
    $("#anlaesse").click(function(){
        $.ajax({
          url: '/website/administrator/components/com_backend/Anlaesse_AJAX.php',
          success: function(data1,status)
          {
            createTableByJqueryEach(data1);
          },
          async:   true,
          dataType: 'json'
        });
    });
});

function createTableByJqueryEach(data1)
  {

  var eTable="<table><thead><tr><th colspan='4'>Created by for loop</th></tr><tr><th>Datum</th><th>Typ</th><th>Referent</th><th>Thema</th</tr></thead><tbody>";
  $.each(data1,function(index, row){
    // eTable += "<tr>";
    // eTable += "<td>"+(data1)[i]['Datum']+"</td>";
    // eTable += "<td>"+(data1)[i]['Typ']+"</td>";
    // eTable += "<td>"+(data1)[i]['Referent']+"</td>";
    // eTable += "<td>"+(data1)[i]['Thema']+"</td>";
    // eTable += "</tr>";

    eTable += "<tr>";
    $.each(row,function(key,value){
      eTable += "<td>"+value+"</td>";
    });
    eTable += "</tr>";
  });
  eTable +="</tbody></table>";
  $('#eachTable').html(eTable);
  }

以及用于向我显示事件表的PHP:

<?php 
    include($_SERVER['DOCUMENT_ROOT'].'/website/dbConnection.php');

    function filterTable($searchquery)  
    {   
        $filter_Result = mysqli_query($GLOBALS['connect'], $searchquery);
        return $filter_Result;
    }

    $searchquery = "SELECT Datum, Typ, Referent, Thema FROM events";
    $searchresult = filterTable($searchquery) or die("Tabelle kann nicht angezeigt werden");

    $data1 = mysqli_fetch_all($searchresult);
    echo json_encode($data1);

?>

我在JQuery中放入了一个失败参数,但是为了更好的代码在这里删除了它。这两个错误是“ parsererror”和“ SyntaxError:JSON输入意外结束”。

一些重要信息:

首先是我的成员表和事件表。我不得不审查第二部分,以免放弃我在哪里工作/生活/等。

当我在请求事件表后查看开发工具时,得到的JSON Repsonse为空。当我请求成员表时,它是一个包含数据库中所有成员的数组。

关于所有的信息,我已经在这个问题上工作了几个小时。我需要第二双眼睛来查看我的代码,并指出我做错了到底是什么。

感谢您的帮助!

编辑:所以我在$ searchresult和$ data1之间插入了以下代码:

$array = array();

while($row = mysqli_fetch_assoc($searchresult)){
    $array[] = $row;
}

echo '<pre>'; print_r($array); echo '</pre>';

它给了我以下数组:

enter image description here

1 个答案:

答案 0 :(得分:1)

我发现了问题。

我在数据库条目中有一些德语字母,例如ä,ö和ü,这使我的代码感到困惑。

很抱歉,这篇杂乱的帖子中包含太多无关的代码和信息。我在这里还很陌生,正在学习如何正确发布文章,而且我还不太擅长网页设计(考虑到我的糟糕代码,这很明显)。

感谢所有尝试帮助我的人!