javascript - AJAX 将 jQuery 发布到 PHP $_POST

标签 javascript php jquery mysql ajax

我有这个模态 jQuery AJAX:

        $('#switch_modal').on('show.bs.modal', function (e) {
        var rowid = $(e.relatedTarget).attr('data-id');
            $.ajax({
                type : 'post', // commented for this demo
                url : 'pars.php', // commented for this demo 
                data :  'id='+ rowid,
                success : function(data) {
                $('.fetched-data').show().html(rowid); // show rowid for this demo
                }
            });
        });

我的mysql查询:

$query="SELECT * FROM games WHERE winner='' ORDER BY amount DESC";
while ($row = $result->fetch_assoc()) {

我的模态数据ID:

<a href="#viewgame" data-toggle="modal" data-id="<?php echo $row['id'];?>"">

如何像 PHP 帖子一样使用 var rowid?类似这样的事情:

$id = $_POST['rowid'];
echo $id;

最佳答案

如果我很好地理解你所做的这个测试......
您的 JavaScript rowid 就是该值。 $_POST 标识符是 id

在 PHP 中尝试一下:

$id = $_POST['id'];
echo $id;

您将获得通过 ajax 作为 POST 值(名为 $_POST['id'])发送的 javascript rowid...
并且ajax 成功时返回 data

$('.fetched-data').show().html(data);

所以你必须在 jQuery html() 中使用 data ...这是回显的文本。



-----
接受此答案后进行编辑
(基于您最后的评论)

So i have this query:

$query="SELECT * FROM games WHERE winner='' ORDER BY amount DESC";
if ($result = $conn->query($query)) {
    while ($row = $result->fetch_assoc()) {
        $gameid = $row['id'];
    }
}

So i want to use $gameid variable into this query:

$sql = "SELECT * FROM games WHERE id='".$gameid."'";


我明白,您希望获得最后匹配的完整行,其中游戏表中的获胜者值为空。
不需要 ajax 调用...
无需第二次查询。

就这样做:

$query="SELECT * FROM games WHERE winner='' ORDER BY amount DESC";
$result = $conn->query($query);
$row = $result->fetch_assoc();

for ($i=0;$i<sizeOf($row);$i++){    // This is the «size» (number of values) of one row, the last fetched.
    echo $row[$i] . "<br>";
}

您将得到所有行值的回显...
这将是获取的最后一个匹配行。


如果您有很多匹配行并且想要所有结果,请按如下操作:

$query="SELECT * FROM games WHERE winner='' ORDER BY amount DESC";
$result = $conn->query($query));

while ($row = $result->fetch_assoc()) {     // While fetching, echo all values of one matching line.
    echo "row id: " . $row['id'] . "<br>";
    echo "values: <br>";
    for ($i=0;$i<sizeOf($row);$i++){
        echo $row[$i] . "<br>";
    }
}

注意,我建议的这个脚本将让您了解 while fetch 循环 可能的结果。您需要做一些工作才能使其在您的页面上正确显示。
;)

关于javascript - AJAX 将 jQuery 发布到 PHP $_POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37797943/

相关文章:

javascript - 模拟*同步* XDomainRequest (XDR) 请求的任何方式

javascript - jquery 评估在 less.css 中不起作用

javascript - 如何在javascript中使用数组填充来显示用户输入的文本或数字?

php - 后端的 magento 中缺少图像上传按钮

php - 执行Laravel Eloquent 'select'语句满足多个相关表中的条件

php - 递归/子例程正则表达式以匹配 CSS 媒体查询

javascript - JS 克尼克斯 : getting foreign keys for a table

javascript - 为居中的 div 设置动画

javascript - 额外传奇礼物

jquery - 当鼠标悬停在屏幕底部时,如何显示隐藏的 div?