将javascript数组变量传递给php文件

时间:2017-09-03 11:43:18

标签: javascript php arrays

我试图将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文件的正确方法是什么,这样我可以计算数组中的每个索引并进行循环?

我是新来的,所以我希望我的解释是好的,如果不是只是问我不要让我投票。任何帮助将不胜感激谢谢:)

1 个答案:

答案 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>";
    }