首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP Ajax -只在database....Why中发送第一个输入值?

PHP Ajax -只在database....Why中发送第一个输入值?
EN

Stack Overflow用户
提问于 2018-08-19 04:50:03
回答 3查看 64关注 0票数 0
代码语言:javascript
复制
$sql = mysql_query('SELECT * FROM article')or die(mysql_error());

while ($data = mysql_fetch_array($sql))
{
    echo "<td>";
    echo '<div><strong>'.$data['nom_article'].'</strong></div>';
    echo $data['prix'].' FCFA';
    echo "<input type='text' value='".$data['id']."' id='annonce_id'>";
?>
    <button type="submit" id="submit" value="<?php echo $data['id']; ?>" title="<?php echo $data['id']; ?>" style="background: #fff; border: none; cursor: pointer; color: blue;">
    <a href="">Save</a>
    </button>
<?php
    echo "</td>";
}

<script>
$(document).on('click', '#submit', function(){

var t = $('annonce_id').val();

$.ajax({
    url: "saveform.php",
    data:{
    done: 1,
    text: t
        },
    success: function(data)
    {
        alert(t);
    }
});
});
</script>

这里是 saveform.php

代码语言:javascript
复制
<?php 
if(isset($_GET['done']))
{
    $text = mysql_escape_string($_GET['text']);

    mysql_query("INSERT INTO test VALUES('', '".$text."')")or die(mysql_error());
    exit();
}
?>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-22 17:28:36

代码语言:javascript
复制
It is OK now. Here is the solution that I concocted...Thank you @hassanrrs

<button type="submit" id="submit" name="<?php echo $data['id']; ?>" style="background: #fff; border: none; cursor: pointer; color: blue;">
        <a href="">Save</a>
</button>

<script>
    $(document).on('click', '#submit', function(){

        var t = $(this).attr('name');

        $.ajax({
            url: "saveform.php",
            data:{
                done: 1,
                texte: t
            },
            success: function(data)
            {
                //alert(t);
            }
        });
    });
</script>

saveform.php

代码语言:javascript
复制
if(isset($_GET['done']))
{
    $text = mysql_escape_string($_GET['texte']);

    mysql_query("INSERT INTO test VALUES('', '".$text."')")or die(mysql_error());
    exit();
}
票数 0
EN

Stack Overflow用户

发布于 2018-08-19 05:46:09

多个输入不能具有相同的id。您需要将name属性添加到所有输入,如下所示

代码语言:javascript
复制
 echo "<input type='text' value='".$data['id']."' id='annonce_id' name='annonce_id[]'>";

然后在ajax请求中

代码语言:javascript
复制
var t = $('input:text#annonce_id').serialize();

,然后在php中将其解析为数组。

票数 0
EN

Stack Overflow用户

发布于 2018-08-22 17:45:34

试试看

代码语言:javascript
复制
<?php
$sql = mysql_query('SELECT * FROM article')or die(mysql_error());

while ($data = mysql_fetch_array($sql)) {
    echo "<td>";
    echo '<div><strong>' . $data['nom_article'] . '</strong></div>';
    echo $data['prix'] . ' FCFA';
    echo "<input type='text' value='" . $data['id'] . "' id='annonce_id'>";
    ?>
    <button type="submit" id="submit" value="<?php echo $data['id']; ?>" title="<?php echo $data['id']; ?>" style="background: #fff; border: none; cursor: pointer; color: blue;">
        <a href="">Save</a>
    </button>
    <?php
    echo "</td>";
}
?>
<script>
    $(document).on('click', '#submit', function () {

        var t = $('#annonce_id').val();

        $.ajax({
            url: "saveform.php",
            data: {
                done: 1,
                text: t
            },
            success: function (data)
            {
                alert(t);
            }
        });
    });
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51912436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档