使用 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.";