将复选框ID传递给另一个php文件
假设我正在生成某种html表(来自mysql查询的数据),每行都有一个复选框将复选框ID传递给另一个php文件,php,mysql,checkbox,parameter-passing,Php,Mysql,Checkbox,Parameter Passing,假设我正在生成某种html表(来自mysql查询的数据),每行都有一个复选框 $display_string = "<form action=\"delete.php\" method=\"post\">"; $display_string .= "<div><input type=\"button\" VALUE=\"Button1\"></div>"; $display_string .= "<div><input type=
$display_string = "<form action=\"delete.php\" method=\"post\">";
$display_string .= "<div><input type=\"button\" VALUE=\"Button1\"></div>";
$display_string .= "<div><input type=\"button\" VALUE=\"Button2\"></div>";
while($row = mysql_fetch_array($qry_result)){
$display_string .= "<tr onmouseover=\"this.className = 'hlt';\" onmouseout=\"this.className = '';\">";
$display_string .= "<td class='blank'><input type=\"checkbox\" /></td>";
$display_string .= "<td class='data'>" . $row['first_name'] . "</td>";
$display_string .= "<td class='data'>" . $row['last_name'] . "</td>";
$display_string .= "<td class='data'><a href='" . $row['email'] . "'>" . $row['email'] . "</a></td>";
etc...
etc...
$display_string .= "</form>";
$display_string=”“;
$display_字符串=“”;
$display_字符串=“”;
while($row=mysql\u fetch\u数组($qry\u result)){
$display_字符串=“”;
$display_字符串=“”;
$display_string.=''.$row['first_name']。'';
$display_string.=''.$row['last_name']。'';
$display_字符串=“”;
等
等
$display_字符串=“”;
在选择了各种复选框之后,我现在希望发生的是两件事:
1) 例如,单击按钮1时调用delete.php以删除所选行。
2) 单击按钮2时调用的其他一些php文件
我可以访问$row['ID'],我可以用它来命名每个复选框,我只是不知道如何合并它,因为我是php新手
更新 以下内容似乎对我有用 我有下面的html-
<form name='myForm' method=\"post\" >
<input type=\"submit\" onClick=\"deleterow(document.myForm)\" VALUE=\"Delete ROWs\">
while($row = mysql_fetch_array($qry_result)){
<input type=\"checkbox\" name='rows' value=" .$row['ID']. "/>
while($row=mysql\u fetch\u数组($qry\u result)){
Javascript如下所示-
<script language=\"javascript\" type=\"text/javascript\">
function deleterow(form){
if (!confirm(\"Are you sure you want to delete?\")) return false;
var queryString = \"?ID=\";
for (var i = 0; i < document.myForm.rows.length; i++) {
if (document.myForm.rows[i].checked) {
ID = document.myForm.rows[i].value;
ID = ID.slice(0, -1);
queryString += ID;
queryString += \"-\";
}
}
queryString = queryString.slice(0, -1);
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject(\"Msxml2.XMLHTTP\");
} catch (e) {
try{
ajaxRequest = new ActiveXObject(\"Microsoft.XMLHTTP\");
} catch (e){
// Something went wrong
alert(\"Your browser broke!\");
return false;
}
}
}
var ajaxRequest; // The variable that makes Ajax possible!
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('ajaxDiv');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
ajaxRequest.open(\"GET\", \"delete_row.php\" + queryString, true);
ajaxRequest.send(null);
confirm('Delete successful!');
}
函数deleterow(表单){
如果(!confirm(\“您确定要删除吗?\”)返回false;
变量queryString=\“?ID=\”;
for(var i=0;i
然后使用delete_row.php,您可以通过mysql查询完成所有需要的操作,新数据可以通过
<div id='ajaxDiv'></div>
要获得清晰的代码,我建议您避免两个按钮触发两个动作。相反,使用简单的javascript方法向提交的表单中添加一个参数,以消除按下的按钮
<script type="text/javascript">
function submitForm( act ){
$('#act').val(act);
$('#myForm').submit();
}
</script>
<form id="myForm" ... >
<input type="hidden" id="act" value="" />
<button onClick="submitForm(1)">1</button>
<button onClick="submitForm(2)">2</button>
</form>
函数提交表单(act){
$('#act').val(act);
$('#myForm')。提交();
}
1.
2.
这只是一个示例(使用jquery)
关于第二个答案(复选框):
提交表单时,您将收到一个数组“SelectedBox”,作为一个参数,在其中您可以选中复选框。您可以更改表单操作,例如,如果单击按钮1,它会将操作更改为DELETE.PHP,请参阅此帖子:
他们使用JQuery,并且他们有多个答案来回答如何做到这一点这通常是通过一些javascript代码在客户端完成的。谢谢,这看起来像是我需要的。你能帮我完成javascript吗?我需要一些if语句,比如:if act=1 do bla bla 1;if act=2 do bla bla 2,我应该能够将其余的部分拼凑到gether.谢谢!你不需要ajax。.submit方法会将你带到另一个处理请求的页面。好的,这是有意义的,但我不太确定如何从这个新页面访问id(act)。你能给我一个快速的代码编写程序,说明如何在另一个页面上执行此操作吗?我上面写的示例将向你传递一个“$\u请求['act]”您将根据您按下的按钮找到值1或2。太好了!我如何从另一个php页面中的复选框访问ID?以及如何通过submit方法“激活”另一个php页面?
<input type="checkbox" name="selectedboxes[]" value="someIdHere" />