PHP连接不能正常工作

时间:2017-11-11 15:36:34

标签: php jquery ajax

所以我试图在不刷新页面的情况下为我的网站建立分页。 我为此目的使用ajax,php和mysql。

目前我仍然坚持使用php,特别是使用foreach和concatenation。

这是我的foreach循环:

if (isset($_POST['page'])) {
    $algus = $_POST['page'];
    $loos = '';
    $mitu = 5;
    $msg = [];

    foreach (uritused($conn, $id, $algus, $mitu) as $key => $vals) {
        $loos .= "<tr class='tr-data'>";
        $loos .= '<td>'.$vals['eventi_nimi'].'<br><span class="owner" data-id="'.$vals['owner-id'].'">'.$vals['owner'].'</span></td>';
        $loos .= '<td data-loosiaeg="'.$vals['loosiAeg'].'">'.$vals['loosiAeg'].'</td>';
        $loos .= '<td>'.$vals['attendiloos'].'</td>';
        $loos .= '<td>';
        if (is_array($vals['auhinnad'])) {
            foreach($vals['auhinnad'] as $keys => $val){
                $loos .= $val['auhind'].'<br>';
            }
        } else {
            $loos .= $vals['auhinnad'];
        }
        $loos .= '</td>';
        $loos .= '<td>Postitus: '.$vals['tingimused']['postitus'].'<br>Osalus: '.$vals['tingimused']['osalus'].'</td>';
        $loos .= '<td>';
        if (is_array($vals['valista'])) {
            foreach($vals['valista'] as $keys => $val){
                $loos .= $val['nimi'].'<br>';
            }
        } else {
            $loos .= $vals['valista'];
        }
        $loos .= '</td>';
        $loos .= '<td data-sec='.$vals['sec'].' class="tr-icons">
    <i class="material-icons staatus ' . $vals['staatus'] . '" data-staatus="'.$vals['staatus'].'" data-toggle="tooltip" data-placement="bottom" data-class="stopped" data-eltext="radio_button_checked" data-text="radio_button_unchecked" title="Peata loosimine">radio_button_checked</i></td>';
        $loos .= "</tr>";
    }
    $msg['data'] = $loos;
    $msg['success'] = true;

    echo json_encode($msg);
}

这是我的ajax电话

var page = 1;
$.ajax({
   type: "POST",
   url: "pages/php/loosid_data.php",
   cache: false,
   dataType: 'json',
   data: {'page': page},
   success: function(msg){
   console.log(msg);
     if(msg['success']){
       $('.tr-data').remove();
       $('.m-loosid table').append(msg['data']);
     }
   },
   error: function(msg){
   console.log(msg);
 }
 });

编辑:继承人的功能

function uritused($conn, $id, $algus, $mitu){
try{
  $uritused = $conn->prepare("SELECT COUNT(*) FROM loosid WHERE usr_id='$id'");
  $uritused->execute();
}catch(PDOException $e){
  echo $e->getMessage();
}
$uritus_arr = [];
$count = $uritused->fetchColumn();
if($count > 0){
  try{
    $urituseds = $conn->prepare("SELECT * FROM loosid WHERE usr_id='176237127636' ORDER BY loosiAeg DESC LIMIT 1, 5");
    $urituseds->execute();
  }catch(PDOException $e){
    echo $e->getMessage();
  }
  $uritus = $urituseds->fetchAll();
    for ($z=0;$z<$count;$z++) {
      $uritus_arr[$z] = array(
        'eventi_nimi' => $uritus[$z]['eventi_nimi'],
        'loosiAeg' => $uritus[$z]['loosiAeg'],
        'tingimused' => array(
          'postitus' => $uritus[$z]['post'],
          'osalus' => $uritus[$z]['osalus']
        ),
        'sec' => $uritus[$z]['sec'],
        'staatus' => $uritus[$z]['staatus'],
        'attendiloos' => $uritus[$z]['attendiloos']
      );
      $auhinnad = explode(',', $uritus[$z]['auhinnad']);
      if($uritus[$z]['auhinnad'] != '-'){
        foreach ($auhinnad as $key) {
            $auhind = explode('-', $key);
            $auhinna_arr[] = array(
              'auhind' => $auhind[0],
              'voitjad' => $auhind[1]
            );
        }
        $uritus_arr[$z]['auhinnad'] = $auhinna_arr;
      }else{
        $uritus_arr[$z]['auhinnad'] = $uritus[$z]['auhinnad'];
      }

      $valista = explode(',', $uritus[$z]['valista']);
      if($uritus[$z]['valista'] != '-'){
        foreach ($valista as $keys) {
            $valistad = explode('-', $keys);
            $valista_arr[] = array(
              'nimi' => $valistad[0],
              'id' => $valistad[1]
            );
        }
        $uritus_arr[$z]['valista'] = $valista_arr;
      }else{
        $uritus_arr[$z]['valista'] = $uritus[$z]['valista'];
      }

      $valista_arr = [];
      $auhinna_arr = [];
    }

}
return $uritus_arr;
}

现在我给了我不确定的偏移量,我知道数据库中有这些信息的数据。 由于某种原因,数据始终为空。 enter image description here

每当我尝试在没有ajax的情况下直接在我的页面中运行相同的代码时,一切都按预期工作。

也许你们对如何解决这个问题有任何建议?我知道这里已有同样的帖子,但我还没找到答案。

1 个答案:

答案 0 :(得分:0)

@Gino Pane

我很抱歉,但事实并非如此。看来我用我的查询犯了一个菜鸟错误。我在数据库中只有一个数据实例,但我的限制设置为1,5,但它应该是0,5。

基本上我的查询是从数据库开始查看数据,从1开始它应该从0开始。这就是为什么在我看来数据库中没有数据。

我还说当我直接在页面上回显foreach时它起作用,因为那时我在数据库中有超过1个数据实例。

抱歉浪费你的时间。