[英]ajax deleting first row from mysql list
我有我的数据库中的行的列表,每行旁边都有删除,但是无论如何,ajax总是删除列表中的第一行。
PHP代码>>>>>>
$allowedFunctions = array(
'add_job',
'get_log',
'delete'
);
$functionName = $_GET[ 'func' ];
if( in_array( $functionName, $allowedFunctions ) && function_exists( $functionName ) )
{
$functionName();
}
PHP显示页面>>>>>>
function manage(){
dbconnect();
$qry="SELECT server,id,email,lstcheck,running,runtime,pid FROM adds";
$result=mysql_query($qry);
$i = 0;
echo"<table id='customers'>
<tbody><tr>
<th>Server</th>
<th>Id</th>
<th>Email</th>
<th>Check Date</th>
<th>Delete</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "
";
if($i%2 == 0)
{
$tr="<tr>";
$i++;
} else {
$tr="<tr class='alt'>";
$i++;
}
echo"$tr
<td><input type='text' name='sip' id='sip' size='10' value='".$row['server']."' /></td>
<td><input type='text' name='id' id='id' size='10' value='".$row['id']."'/></td>
<td><input type='text' name='email' id='email' size='10'value='".$row['email']."' /></td>
<td><input type='text' name='lstchk' id='lstchk' size='10'value='".$row['lstcheck']."' /></td>
<td><input type='submit' name='Submit' id='Submit' onClick=\"getAjaxInfom('delete')\" value='Remove' /></td>
</tr>";
}
echo"</tbody></table><div id='resultm'></div>";
}
删除功能>>>>>
function delete() {
dbconnect();
$sip = $_GET[ 'sip' ];
$id = $_GET[ 'id' ];
$email = $_GET[ 'email' ];
$lstchk = $_GET[ 'lstchk' ];
$ok = $_GET[ 'ok' ];
mysql_query("delete from adds where id='$id'");
echo $sip .$id.$email;
}
AJAX代码>>>>>>>>>
function getAjaxInfom(f) { // submit buton function
var myFunction= f;
var sip = document.getElementById("sip").value;
var id = document.getElementById("id").value;
var email = document.getElementById("email").value;
var lstchk = document.getElementById("lstchk").value;
var url = "includes/func.php?func=" + myFunction + "&sip=" + sip +"&id=" + id +"&email=" + email +"&lstchk=" + lstchk +"";
request.open("GET", url, true);
request.onreadystatechange = updatePage1;
request.send(null);
}
function updatePage1() {
if (request.readyState == 4) {
if (request.status == 200) {
var response = request.responseText;
document.getElementById("resultm").innerHTML = response; //responce for submit
} else
alert("status is " + request.status);
}
}
需要一些帮助
看起来每一行的输入字段都具有相同的ID-这是一个非常糟糕的主意。 尝试使ID具有唯一性,并且应该运作良好。 也许您可以将$i
-value添加到每个id,例如id='id_".$i."'
,然后将$i
-value作为第二个参数放入您的getAjaxInfom调用中( onClick=\\"getAjaxInfom('delete','".$i."')\\"
)并编辑getAjaxInfom
以执行类似var sip = document.getElementById("sip:"+SECOUND_ARGUMENT).value;
(以及其他值)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.