检查保存数据库中的数据,并取消取消
我想做的是保存/删除数据在(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>
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
}
}
});
});
可以请告诉我任何示例,因为我是ajax的新手。 – ShriD 2013-03-15 00:59:35
已经添加了一些示例代码。你必须阅读这个http://api.jquery.com/jQuery.post/ – Popnoodles 2013-03-15 01:07:56
我试了很多我不在哪里我错了,你可以请告诉我在我的代码更正。如果你不忙, – ShriD 2013-03-16 00:42:02
<?php
include('../dbcon.php');
$id = $_POST['id'];
mysql_query("delete from files where file_id = '$id' ")or die(mysql_error());
?>
你CAK使用checbox让id选择,并加入到$ _ POST [ '选择'];
<?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");
}
?>
请为您的示例提供一些解释 – mhatch 2017-12-07 21:41:19
呀这是可能的,但你必须要问一个更具体的问题 – 2013-03-15 00:32:58
@ExplosionPills你能告诉我这件事有关的任何例子... – ShriD 2013-03-15 01:03:16
@ExplosionPills请于固定我的问题有所帮助,我编辑问题并插入我的代码也可以请帮助理清这个概率。 – ShriD 2013-03-16 01:02:06