繁体   English   中英

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

[英]select multiple rows from mysql and sent to jquery post function in php

在我的应用程序中,我必须根据类别加载数据。 我正在做的是单击类别时,在我获取类别ID的地方调用了click函数,并将其传递给$.post方法到php页面load_project.php 在该页面上,我根据类别ID选择项目,并且必须将选择的行发送回成功功能。 我的问题是,当我将数据发送回阵列中时,仅收到数据警报的最后一行。 我不知道我要去哪里。 谁能帮帮我吗。

PHP页面:

<script>

    $(document).ready(function() {

        $("#categorylink").click(function() {
            cid = $(this).attr("data-cid");
            $.post('load_project.php', { cid: "" + cid + "" }, function(data) {
                alert(data); //here I get only one row, but there is actually 3 rows
            });

        });
    });
</script>

<ul>
    <a><li data-filter="all">>All</li></a>
    <?php $get=$config->get_cat();
        while($row = $get->fetch(PDO::FETCH_ASSOC)) {
    ?>
        <a id="categorylink" data-cid="<?php echo $row['category_id'];?>">
            <li>
                <?php echo $row['category_name'];?>
            </li> 
        </a>  //this is my categories
    <?php } ?>
</ul>

load_project.php

<?php

    require_once 'config.php';
    $config = new DBConfig;

    if(isset($_POST['cid'])) 
    {
        $cid=$_POST['cid'];


        $get=$config->getprojectbycategory($cid);

        while($row=$get->fetch(PDO::FETCH_ASSOC)) {

            $results['projects'] = $row;
        }
        echo json_encode($results);
    }
?>

从成功函数中,我必须将行填充到网格中。 我无法做到这一点。 因此,当前我通过href将类别ID传递给php页面本身,并在页面重新加载后填充数据。 由于它不是加载数据的好方法,因此我想用jquery ajax替换它。 请帮我。

编辑1

当我这样尝试时:

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

我正在警报中得到三个项目名称: [[],"Private Palace","Private Villa F","23rd Floor Addax Tower"]

此问题是因为您存储在数组中的值被以前的值覆盖。

解决方案是声明$results['projects'] = array(); 在while循环之前。

    $results['projects'] = array();
    while($row=$get->fetch(PDO::FETCH_ASSOC)){

    $results['projects'] = $row['project_name'];
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM