我正在尝试做的是分别在复选框检查/取消选中时在(mysql)数据库中保存/删除数据。我有动态生成的复选框,我想保存数据库中特定复选框的数据。同时如果取消选中特定的复选框数据将从数据库中删除。 任何人都可以告诉我这是可能使用jquery或任何其他脚本语言在PHP中。 提前谢谢。
我正在尝试添加一些代码 这是我的“table_edit_ajax.php”代码<?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "test";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password)
or die("Opps some thing went wrong");
mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong");
if($_POST[first_input_.$i])
{
$firstname=mysql_escape_String($_POST[first_input_.$i]);
$sql = "INSERT INTO fullnames(firstname)VALUES('$firstname')";
mysql_query($sql);
}
?>
这是我的主文件,我在其中生成名为“test.php”的复选框
<?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "test";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password)
or die("Opps some thing went wrong");
mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript">
$('.edit_tr').on('change', function(){
// saving or deleting?
var savedelete;
if ($(this).is(':checked')) savedelete='save';
alert ("save test");
else savedelete='delete';
alert ("delete test");
// what am I changing?
var name=$(this).attr('first_input_<?php echo $i; ?>');
// call the server
$.ajax({
type: "POST",
url: 'table_edit_ajax.php'
data: {"do": "saveordelete", "whichone": savedelete, "name": name },
success: function(data){
if (data=='true'){ // is string not boolean
// it worked
alert ("true");
}else{
// didn't work
alert ("false");
}
}
});
});
</script>
<style>
body
{
font-family:Arial, Helvetica, sans-serif;
font-size:14px;
}
td
{
padding:7px;
}
.editbox
{
font-size:14px;
width:270px;
/*background-color:#ffffcc;*/
border:solid 1px #000;
padding:4px;
}
th
{
font-weight:bold;
text-align:left;
padding:4px;
}
.head
{
background-color:#333;
color:#FFFFFF
}
</style>
</head>
<body bgcolor="#dedede">
<div style="margin:0 auto; width:750px; padding:10px; background-color:#fff; height:800px;">
<table width="100%">
<tr class="head">
<th>First Name</th>
</tr>
<?php
$i=1;
while($i<=5)
{
if($i%2)
{
?>
<tr id="lovetr<?php echo $i; ?>" class="edit_tr">
<?php } else { ?>
<tr id="trlove<?php echo $i; ?>" bgcolor="#f2f2f2" class="edit_tr">
<?php } ?>
<td width="50%" class="edit_td">
<input type="checkbox" value="firstname<?php echo $i; ?>" class="editbox" name="first_input_<?php echo $i; ?>" />
</td>
</tr>
<?php
$i++;
}
?>
</table>
</div>
</body>
</html>
答案 0 :(得分:2)
JQuery将使用$ .ajax与服务器通信,最好是POST。
服务器将尝试使用PHP和MySQLi删除数据库行。
如果成功或不成功的PHP回显并为jQuery解释有用的响应。这可能只是true
和false
ajax等待该响应,当它到达时将保持原样,或者将其切换到删除失败时的状态。您可能想确认该操作是否成功。
所以人们不在这里编写你的代码,你需要深入研究这个问题。对于经验丰富的开发人员来说,这很容易,但如果你不尝试,你就不会学习。如果遇到编程问题,请随时提出进一步的问题。
示例jQuery 未选中
<label><input type="checkbox" value="1" name="apples" class="savedelete" />Save/Delete</label>
<label><input type="checkbox" value="1" name="pears" class="savedelete" />Save/Delete</label>
的jQuery
$('.savedelete').on('change', function(){
// saving or deleting?
var savedelete;
if ($(this).is(':checked')) savedelete='save';
else savedelete='delete';
// what am I changing?
var name=$(this).attr('name');
// call the server
$.ajax({
type: "POST",
url: 'index.php'
data: {"do": "saveordelete",
"whichone": savedelete,
"name": name
},
success: function(data){
if (data=='true'){ // is string not boolean
// it worked
}else{
// didn't work
}
}
});
});
答案 1 :(得分:0)
<?php
include('../dbcon.php');
$id = $_POST['id'];
mysql_query("delete from files where file_id = '$id' ")or die(mysql_error());
?>
你使用checbox创建id选择器并添加到$ _POST [&#39; selector&#39;];
<?php
include('../dbcon.php');
if (isset($_POST['backup_delete'])){
$id=$_POST['selector'];
$N = count($id);
for($i=0; $i < $N; $i++)
{
$result = mysql_query("DELETE FROM teacher_backpack where file_id='$id[$i]'");
}
header("location: backack.php");
}
?>