PHP Ajax-仅发送数据库中的第一个输入值。

时间:2018-08-18 20:50:03

标签: php ajax

$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

<?php 
if(isset($_GET['done']))
{
    $text = mysql_escape_string($_GET['text']);

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

1 个答案:

答案 0 :(得分:0)

多个输入不能具有相同的ID。您需要将name属性添加到所有这样的输入

 echo "<input type='text' value='".$data['id']."' id='annonce_id' name='annonce_id[]'>";

然后在您的ajax请求中

var t = $('input:text#annonce_id').serialize();

然后将其解析为php中的数组