好的,所以我有一个页面调用msyql数据库中的信息列表。比方说,我有一个名为TABLE的表,其中包含列ID,名称,电话号码和单选按钮组(家庭,单元格,工作)等。我创建了一个脚本,在表格中打印出姓名,电话号码和“状态(不知道什么最好称之为,但它是单选按钮的值)单选按钮。我想做的是使它对每一行,如果我为单选按钮赋值,它将编辑状态部分。所以说,在第1行,我点击主页,第2行,第3行和第3行...等等,然后点击提交按钮,它将更新数据库。
所以,这是我表格中单选按钮部分的代码。这是一个php标签
我最终做的基本上是调用每组单选按钮,status_type1,status_type2,status_type3 ...基本上是radio name ='status_type'。$ info ['id']。“
我想做一个if语句,看看是否有按钮上的任何点击分配的值,然后提交它们以便输入。这是我到目前为止所做的。
//Radio Button Template
<fieldset>
<input type='radio' id='status_type_home' name='status_type".$info['id']."' value='home' />
<label for='status_type_home'>home</label>
<input type='radio' id='status_type_work' name='status_type".$info['id']."' value='work' />
<label for='status_type_work'>work</label>
<input type='radio' id='status_type_cell' name='status_type".$info['id']."' value='cell' />
<label for='status_type_cell'>cell</label>
</fieldset>
</td>";
//If statement to submit radio buttons
if ($_POST['status_type "$info['id']"'])
{
$edit_status_sql="UPDATE status SET type = 'status_type".$info['id'] . "' WHERE id = '" . $id . "'";
$edit_status_res=mysqli_query($connection, $edit_status_sql) or die(mysqli_error($connection));
}
我遇到的问题基本上是,我已将单选按钮的名称声明为status_type [基于id的变量]。不幸的是,这不起作用。我想知道是否有人可以帮我弄清楚我应该如何格式化它,或者甚至可以在变量中声明变量。谢谢!
答案 0 :(得分:0)
您的PHP代码在语法上不正确。假设$info
具有正确的值,则应该读取
if ($_POST["status_type$info[id]"])
注意:
$info
的数组索引中的单引号已被删除您还可以使用等效的$_POST["status_type".$info['id']]
。
但是,该代码还存在许多其他问题:
if
如果未定义变量,则应阻止E_NOTICE
;即它应该是if(isset($_POST[...]))
。答案 1 :(得分:0)
应该是
if ($_POST["status_type".$info['id'].""]){
.....
}
你有:
if ($_POST['status_type "$info['id']"']) {
.....
}
我也会这样做:$statusType = "status_type".$info['id'];
并像$_POST["$statusType"]
一样使用
和
$edit_status_sql="UPDATE status SET type = '."$statusType".' WHERE id = '".$id."'";