簡體   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