我试图将javascript数组变量传递到php文件
我有arrayID
变量,有5个值。我做的是我将arrayID放在此<input id="array" type="text" name="aID[]" value="">
标记中,其中包含此javascript代码document.getElementById("array").value = arrayID;
,因为输入标记位于此<form method="post" action="AddAssessment.php">
标记内,因此我可以从AddAssessment获取arrayID的值。 PHP
这是来自AddAssessment.php文件
<?php
session_start();
require("connection.php");
if(isset($_POST['btnSubmit2']))
{
$questionID=$_POST['aID'];
for ($i=0; $i<count($questionID);$i++)
{
$SqlQ_T = "INSERT INTO assessment_question_table (Question_ID) values ('$questionID[$i]');";
mysqli_query($con,$SqlQ_T);
print_r ($questionID);
}
echo "<script>alert('Assessment Added!');</script>";
}
}?>
因此,无论何时单击btnSubmit2,它都会使用post调用输入名称,并获取输入的值,即arrayID,并将其放入$ questionID变量中。然后使用循环将数组的值逐个保存在数据库中,如上所示
问题是它只保存数组的第一个值。所以我试着print_r $ questionID变量,我得到了这个
数组([0] =&gt; 9,10,12,31,20,53)
将javascript数组传递给php文件的正确方法是什么,这样我可以计算数组中的每个索引并进行循环?
我是新来的,所以我希望我的解释是好的,如果不是只是问我不要让我投票。任何帮助将不胜感激谢谢:)
答案 0 :(得分:0)
如果你得到,
分隔值而你想将它转换为数组,你可以使用PHP的explode
函数
$questionID=$_POST['aID'];
if(is_array($questionID) && isset($questionID[0]))
{
$questionID = explode(",", $questionID[0]); // convert to array
}
for ($i=0; $i<count($questionID);$i++)
{
$SqlQ_T = "INSERT INTO assessment_question_table (Question_ID) values ('$questionID[$i]');";
mysqli_query($con,$SqlQ_T);
print_r ($questionID);
}
echo "<script>alert('Assessment Added!');</script>";
}