从mysql中选择多行并发送到php中的jquery post函数

uqdfh47h  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(228)

在我的应用程序中,我必须根据类别加载数据。我所做的是,当单击类别时,调用click函数,其中我获取类别id并将其传递给 $.post 方法到php页 load_project.php . 在该页面中,我根据类别id选择项目,并且我必须将所选行发送回success函数。我的问题是,当我将数据发送回我的数组时,我只会得到数据警报的最后一行。我不知道我要去哪里。谁能帮帮我吗。
php页面:

  1. <script>
  2. $(document).ready(function() {
  3. $("#categorylink").click(function() {
  4. cid = $(this).attr("data-cid");
  5. $.post('load_project.php', { cid: "" + cid + "" }, function(data) {
  6. alert(data); //here I get only one row, but there is actually 3 rows
  7. });
  8. });
  9. });
  10. </script>
  11. <ul>
  12. <a><li data-filter="all">>All</li></a>
  13. <?php $get=$config->get_cat();
  14. while($row = $get->fetch(PDO::FETCH_ASSOC)) {
  15. ?>
  16. <a id="categorylink" data-cid="<?php echo $row['category_id'];?>">
  17. <li>
  18. <?php echo $row['category_name'];?>
  19. </li>
  20. </a> //this is my categories
  21. <?php } ?>
  22. </ul>

加载\u project.php

  1. <?php
  2. require_once 'config.php';
  3. $config = new DBConfig;
  4. if(isset($_POST['cid']))
  5. {
  6. $cid=$_POST['cid'];
  7. $get=$config->getprojectbycategory($cid);
  8. while($row=$get->fetch(PDO::FETCH_ASSOC)) {
  9. $results['projects'] = $row;
  10. }
  11. echo json_encode($results);
  12. }
  13. ?>

从success函数中,我必须将行填充到网格中。我不能这样做。因此,目前我通过href将category id传递给php页面本身,并在页面重新加载后填充数据。因为加载数据的方式不是很好,所以我想用jqueryajax代替它。请帮帮我。
编辑1
当我这样尝试时:

  1. $results[] .= $row['project_name'];

我正在提醒三个项目名称: [[],"Private Palace","Private Villa F","23rd Floor Addax Tower"]

eit6fx6z

eit6fx6z1#

此问题是因为存储在数组中的值被以前的值覆盖。
解决方法是声明 $results['projects'] = array(); 在while循环之前。

  1. $results['projects'] = array();
  2. while($row=$get->fetch(PDO::FETCH_ASSOC)){
  3. $results['projects'] = $row['project_name'];
  4. }

相关问题