Php 使用jQuery更新数据库上的值
我有一个数据库表,其中有两个字段(除ID外):“name”和“value”。 我希望“value”字段始终为“0”或“1” 现在,我有了一个页面,在这个页面中,我使用一个PHP while循环来显示这个表上的所有名称。我想要的是,每次单击名称时,我都会将该行的“值”字段更改为“0”或“1”。 因此,如果我有一行,其中名称为“John Doe”,值为“0”,当我单击它时,我会将该值更改为“1”。我想用Ajax来实现这一点,这样页面就不会重新加载,但我真的不知道这一点 到目前为止,我所拥有的: index.phpPhp 使用jQuery更新数据库上的值,php,ajax,post,sql-update,Php,Ajax,Post,Sql Update,我有一个数据库表,其中有两个字段(除ID外):“name”和“value”。 我希望“value”字段始终为“0”或“1” 现在,我有了一个页面,在这个页面中,我使用一个PHP while循环来显示这个表上的所有名称。我想要的是,每次单击名称时,我都会将该行的“值”字段更改为“0”或“1”。 因此,如果我有一行,其中名称为“John Doe”,值为“0”,当我单击它时,我会将该值更改为“1”。我想用Ajax来实现这一点,这样页面就不会重新加载,但我真的不知道这一点 到目前为止,我所拥有的: in
function update()
{
var value = document.getElementById('val').innerHTML;
var id = document.getElementById('userid').innerHTML;
if(value == 1)
{
$.ajax({
type: 'post',
url: 'loaddata.php',
data: {
iduser:id,
new_value: 0
}
});
}
else if (value == 0)
{
$.ajax({
type: 'post',
url: 'loaddata.php',
data: {
iduser:id,
new_val: 1
}
});
}
}
<?php
while($dados= $dado->fetch(PDO::FETCH_ASSOC)){
$userid = $dados['userid'];
$name = $dados['name'];
$val = $dados['value'];
?>
<button onclick="update()">
<div class="linha-convidado">
<span><?php echo $name ?></span>
<span id="val"><?php echo $val ?></span>
<span id="userid"><?php echo $userid ?></span>
</div>
</button>
<?php } ?>
函数更新()
{
var value=document.getElementById('val').innerHTML;
var id=document.getElementById('userid').innerHTML;
如果(值==1)
{
$.ajax({
键入:“post”,
url:'loaddata.php',
数据:{
iduser:id,
新值:0
}
});
}
else if(值==0)
{
$.ajax({
键入:“post”,
url:'loaddata.php',
数据:{
iduser:id,
新版本:1
}
});
}
}
loaddata.php
<?php
if( isset( $_POST['entrada'] ) )
{
$id = $_POST['iduser'];
$newval = $_POST['new_value'];
$host = 'localhost';
$user = 'root';
$pass = ' ';
$db = 'convidados';
$con = mysqli_connect($host, $user, $pass, $db);
$updatedata = "UPDATE convidados set value = '$newval' WHERE userid = $id";
$query = mysqli_query($con, $updatedata);
}
?>
您需要在JS
和PHP
中统一命名
如果。。。否则
像这样使用
$.ajax({
type: 'post',
url: 'loaddata.php',
data: {
iduser:id,
new_value: value ? 0 : 1
}
});
您还必须从ajax发送entrada
的值
检查以下条件是否正确
if( isset( $_POST['entrada'] ) )
在循环中使用相同的值时,您具有非唯一的
id
s。每个用户
都需要自己的id
@Sean既然我在使用循环,我该如何解决这个问题?使用类而不是Id?是的,可以使用类,也可以将$userid
附加到Id=“userid”
以使它们唯一->Id=“userid”
@Sean我刚刚这么做了,但实际上它仍然不起作用。OP正在if
和else if
中发送新值,但它仍然不起作用。关于if条件,这只是我忘记更改的东西,我有这样一个:if(isset($\u POST['new\u value']))