使用 onclick 将选定的无线电值传递给 PHP,然后打开 php 文件以在 SQL 查询中使用值
Pass Selected Radio Value to PHP using onclick, then opening php file to use value in SQL query
我对编码 php 和 javascript 还很陌生,但到目前为止我已经勉强完成了。但是,我碰壁了。我不是 100% 确定我正在尝试做的事情可以完成,或者我什至以有效的方式尝试它。
我有一个动态填充的 table,由使用 php 的 SQL 语句中的行组成。每行都有一个单选按钮,每个单选按钮根据行号(数据库列之一中的唯一值)赋予一个唯一值。我正在尝试编写一个按钮,使用户能够将选定的单选按钮值传递到单独的 php 启用页面,该页面将允许用户使用唯一的行值编辑行信息。另外,我使用了确认选项,因为如果选择了错误的行,我还想添加一个允许用户取消的 if else 语句(我还没有尝试过,因为我无法获得要传递的值)。
页面按钮
<input type="button" id="edit_order_button" value="Edit Order"></input>
JQuery 页
$(document).ready(function(){
$("#edit_order_button").click(function(){
var selected = $("input[name ='order_edit_select']:checked").val();
var r = confirm("Confirm Order Number to edit: " + selected);
$.post("php/editOrder.php", {
selected1: selected
}, function(data,status) {
//alert("Data: " + data + "\nStatus: " + status);
window.open("php/editOrder.php","Edit Order","menubar=1,resizable=1,width=750,height=600, left=250, top=50");
});
});
});
PHP 结束目的地
<?php
//Login to database (usually this is stored in a separate php file and included in each file where required)
require('config.php');
$selected2= isset($_POST['selected1']) ? $_POST['selected1'] : ''; // Fetching Values from URL
echo "Selected Row number is ".$selected2.".";
mysqli_close($connection); // Connection Closed.
?>
我已经尝试了一些方法,但到目前为止未能成功加载新的 window 以通过单选按钮的值进行加载。当前,window 加载,但新的 window 仅显示回显文本,没有变量。当我 运行 使用警报弹出窗口时,数据显示了所选行的值,但它似乎没有在 window.open 命令之前发布到新页面。任何提示将不胜感激,或者如果我从错误的角度解决问题,任何见解也会很棒。我也尝试过调试,以为我缺少括号或分号,但我找不到任何东西。谢谢
在我看来,您可以完全摆脱 post
语句,只需将选择传递给新打开的 window。
$(document).ready(function(){
$("#edit_order_button").click(function(){
var selected = $("input[name ='order_edit_select']:checked").val();
// only open window if order okayed
if ( confirm("Confirm Order Number to edit: " + selected) ) {
window.open("php/editOrder.php?selected1=" + selected,"Edit Order","menubar=1,resizable=1,width=750,height=600, left=250, top=50");
}
});
});
php/editOrder.php:
$selected2 = $_GET['selected1'];
echo "Selected Row number is $selected2.";
我对编码 php 和 javascript 还很陌生,但到目前为止我已经勉强完成了。但是,我碰壁了。我不是 100% 确定我正在尝试做的事情可以完成,或者我什至以有效的方式尝试它。
我有一个动态填充的 table,由使用 php 的 SQL 语句中的行组成。每行都有一个单选按钮,每个单选按钮根据行号(数据库列之一中的唯一值)赋予一个唯一值。我正在尝试编写一个按钮,使用户能够将选定的单选按钮值传递到单独的 php 启用页面,该页面将允许用户使用唯一的行值编辑行信息。另外,我使用了确认选项,因为如果选择了错误的行,我还想添加一个允许用户取消的 if else 语句(我还没有尝试过,因为我无法获得要传递的值)。
页面按钮
<input type="button" id="edit_order_button" value="Edit Order"></input>
JQuery 页
$(document).ready(function(){
$("#edit_order_button").click(function(){
var selected = $("input[name ='order_edit_select']:checked").val();
var r = confirm("Confirm Order Number to edit: " + selected);
$.post("php/editOrder.php", {
selected1: selected
}, function(data,status) {
//alert("Data: " + data + "\nStatus: " + status);
window.open("php/editOrder.php","Edit Order","menubar=1,resizable=1,width=750,height=600, left=250, top=50");
});
});
});
PHP 结束目的地
<?php
//Login to database (usually this is stored in a separate php file and included in each file where required)
require('config.php');
$selected2= isset($_POST['selected1']) ? $_POST['selected1'] : ''; // Fetching Values from URL
echo "Selected Row number is ".$selected2.".";
mysqli_close($connection); // Connection Closed.
?>
我已经尝试了一些方法,但到目前为止未能成功加载新的 window 以通过单选按钮的值进行加载。当前,window 加载,但新的 window 仅显示回显文本,没有变量。当我 运行 使用警报弹出窗口时,数据显示了所选行的值,但它似乎没有在 window.open 命令之前发布到新页面。任何提示将不胜感激,或者如果我从错误的角度解决问题,任何见解也会很棒。我也尝试过调试,以为我缺少括号或分号,但我找不到任何东西。谢谢
在我看来,您可以完全摆脱 post
语句,只需将选择传递给新打开的 window。
$(document).ready(function(){
$("#edit_order_button").click(function(){
var selected = $("input[name ='order_edit_select']:checked").val();
// only open window if order okayed
if ( confirm("Confirm Order Number to edit: " + selected) ) {
window.open("php/editOrder.php?selected1=" + selected,"Edit Order","menubar=1,resizable=1,width=750,height=600, left=250, top=50");
}
});
});
php/editOrder.php:
$selected2 = $_GET['selected1'];
echo "Selected Row number is $selected2.";