Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从一个单选按钮中获取两个变量?_Php_Mysql - Fatal编程技术网

Php 从一个单选按钮中获取两个变量?

Php 从一个单选按钮中获取两个变量?,php,mysql,Php,Mysql,这就是网站现在的样子。我想做的是,当您单击表上的approve注册时,它将提取id号的值和特定记录的名称。我以为我在正确的轨道上。我知道如何获取id号,但它不能同时获取名称的值 这是代码的样子: while($row = mysql_fetch_array($mayor)) { $id = $row['identification_no']; $name = $row['lastname'].", ".$row['firstname']; echo "<tr>

这就是网站现在的样子。我想做的是,当您单击表上的approve注册时,它将提取id号的值和特定记录的名称。我以为我在正确的轨道上。我知道如何获取id号,但它不能同时获取名称的值

这是代码的样子:

while($row = mysql_fetch_array($mayor))
{
    $id = $row['identification_no'];
    $name = $row['lastname'].", ".$row['firstname'];

    echo "<tr>";
    echo "<td><form method=post action=approvedmayor.php><input type='radio' name=id value='$id'></td>";
}

你可以这样试试

<?php

while($row = mysql_fetch_array($mayor))
{
$id = $row['identification_no'];
$name = $row['lastname'].", ".$row['firstname'];

echo "<tr><td><a href='approvedmayor.php?id=$id&name=$name'>Approve</a></td></tr>";
}

?>


在此类型中,请不要使用表单和“批准”按钮。。。单独尝试一下

实际上,直接从
POST
数据插入此类数据是一种不好的做法。 如果数据库中已经存储了所有这些候选对象,则应首先在
approvedmayor.php
中运行
SELECT
查询,如果候选对象仍然存在,则将其数据插入另一个表中

$query = mysql_query('SELECT * FROM `candidates` WHERE `id` = '.$id.' LIMIT 1');
if(mysql_num_rows($query)) {

  $candidate = mysql_fetch_assoc($query);

  $insertQuery = mysql_query("insert into tbcandidates VALUES ($candidate['id'], $candidate['name'], $candidate['mayor'])"); 

  if ($insertQuery) {
    echo "You appproved ";
    echo $name;
  } else echo "error";

} else echo 'This candidate is no longer available';

我理解你的问题

但这不是最好的方法,在我们行动之前,让我们先了解一些小元素和函数

单选按钮
:它是一个输入类型元素,允许用户只选择给定列表中的一个选项

复选框
:它是一个输入类型元素,允许用户从给定列表中选择
n
个选项或选项

前信息-

现在谈谈你的问题

您需要将代码修改为
复选框
,如下所示

<input type='checkbox' name=id[] value='$id'>

我相信这对你的项目来说应该是很好的代码/算法。

你如何获得$name的价值?POST方法不起作用。该Id是唯一传递的。@user1551672您可以使用get获取该Idmethod@user1551672你试过这样做吗,$id=$\u GET['id']$name=$\u GET['name'];我试过你编辑的东西。如果没有表单,您如何提交所选单选按钮?在我的例子中,您不能只单击单选按钮。@user1551672我没有使用单选按钮,请参阅我只使用了名为approve的链接,如果您单击该单选按钮,它将重定向…使用复选框检索多个值。收音机一次只给出一个值。。它只为那些东西构建。表的单选按钮中有多个值。你看过截图了吗?我打算用一个按钮从表中获取两个字段的值。从第一个文件中获取$name的值在哪里?它唯一能得到的就是身份证。什么!这是您的
sql查询
,您更了解您的数据库和表
<input type='checkbox' name=id[] value='$id'>
echo "<form method=post action=approvedmayor.php>';

while($row = mysql_fetch_array($mayor))
{
    $id = $row['identification_no'];
    $name = $row['lastname'].", ".$row['firstname'];

    echo "<tr>";
    echo "<td><input type='radio' name=id[] value='$id'></td>";
}
echo "</form>";
$temp_app_arr = $_POST['id'];

foreach ($temp_app_arr as $pos => $val) {
    $query = mysql_query("insert into tbcandidates VALUES ('$val', '$name', 'mayor')"); 

    if ($query) {
        echo "You appproved ";
        echo $name;
    } else {
        echo "error";
    }

}