使用数组从动态表单提交值

时间:2019-07-12 21:51:58

标签: php sql arrays forms

我一直在尝试创建一个动态的待办事项模板列表,其中包含预先分配的项目,说明等。其想法是从一个时变的表中提取一个模板列表。从那里,用户将取消选中模板任务列表中的待办事项,无需将其插入另一个列表或“ TABLE”。


|例子|

?TaskName =“做家庭作业” TaskDescription =“在家做学校作业” AsssignedTo =“ Greg”

?TaskName =“锻炼” TaskDescription =“去健身房” AsssignedTo =“ Greg”


如果未选中上述任务,则将“未选中的行”插入“ todos”表中。”

INSERT INTO todos (todo_name, todo_description,todo_assigned) Values (:taskname,:taskdecription, :taskassigned)

我尝试过

<input type="checkbox" value=task[taskname][taskdesc] checked>

我的代码开始。

<?php
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('SELECT * FROM plan_list');
$stmt->execute();$count = $stmt->rowCount();
?>

<form method="post" action="insert_list_tasks.php">

拉模板列表

<? 
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
{   
$name= $row['plan_name']
$desc= $row['plan_desc']
$assigned= $row['plan_assigned']
echo "<input type='checkbox'value='task[".$name."][".$desc."][".$assigned."]' name='id[]'checked>".$name."<br>";    
}
?>
<button>Add List To My ToDOs</button>
</form>

不确定我是否正确地执行了值数组。这就是我要坚持的,将任务插入TODOs表中。

<?php   
$stmt_insert = $conn->prepare("INSERT INTO todos 
(todo_name, todo_assigned) Values (:plan_name, :plan_assigned)");

$stmt_insert->bindParam(':plan_name', $plan_name);
$stmt_insert->bindParam(':plan_assigned', $plan_assigned);
$stmt_insert->execute();

?>

我希望从同一个复选框输入中获取多个值,但是到目前为止,我只能获得1,或者只是回显“ Array”。在这一点上,我感觉很愚蠢。

任何对此的帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

我最终得到了与此类似的代码。

$todo_toaddornot = $_POST['toaddornot'];
$value1 =$_POST['value1'];
$value2 =$_POST['value2'];
for($i=0;$i<count($todo_name);$i++)
        {   //If Mark Yes Then Show
        if($todo_toaddornot[$i]==='Yes')
        { echo $value1[$i]; echo $value2[$i]; }}