Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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_Jquery_Ajax - Fatal编程技术网

Php 将选择框值存储到数组中

Php 将选择框值存储到数组中,php,jquery,ajax,Php,Jquery,Ajax,我有两个选择框和一个链接。我从第一个选择框中选择一个值,从第二个选择框中选择另一个值,然后单击链接。每次都必须将这些值存储在一个数组中,而不替换以前的值。如果不使用多个选择框,如何执行此操作 <select name="sq" id="sq" > <option value=""></option> </select> <select name="as" id="as" > <option value=""></op

我有两个选择框和一个链接。我从第一个选择框中选择一个值,从第二个选择框中选择另一个值,然后单击链接。每次都必须将这些值存储在一个数组中,而不替换以前的值。如果不使用多个选择框,如何执行此操作

<select name="sq" id="sq" >
<option value=""></option>
</select>

<select name="as" id="as" >
<option value=""></option>
</select>


抱歉忘了提及..它在codeigniter中

您可以使用更改事件来存储选定的值

Html


如果你希望在你的网站上有持久性,那么我建议你调查一下

在您的情况下,您希望持久地存储一个数组,因此有几个选项


实现或您可以使用将数组存储在cookie中。

根据评论中添加的信息,我的建议如下:

HTML:

我收到这封信:

foreach($_POST['sq'] as $key=>$name){
    //Make sure you stay consistent with the keys to make sure the 2 values were entered at the same time.
    echo '<p>'.$name.' is a '.$_POST['as'][$key].'</p>';
}
foreach($\u POST['sq']作为$key=>$name){
//确保与键保持一致,以确保同时输入两个值。
echo“”.$name.“是一个“$\u POST['as'][$key]”。

; }
将[]添加到输入名称的末尾将把它们放入数组中。但是如果你想要不止一个值,你需要不止一个


您可以删除
$('.selectLine').last().prev().hide()
将行显示给用户,以便用户可以根据需要更改值。

这将使用AJAX发送数据,而无需页面刷新:

用于链接

然后添加以下jQuery脚本:(首先需要包括jQuery库)

然后在php脚本中,将$\u POST数据存储在数据库或会话中

会话示例,存储:

<?php
   session_start();
   if (!isset($_SESSION['sq']) $_SESSION['sq'] = array();
   $_SESSION['sq'][] = $_POST['sq'];

   if (!isset($_SESSION['as']) $_SESSION['as'] = array();
   $_SESSION['as'][] = $_POST['as'];

  ?>

存储是什么意思?每次在页面上更改时,还是每次提交后更改?你能再添加一些代码吗?嗨,欢迎来到StackOverflow。你的问题措辞让我很难理解。请尝试添加示例输入/输出或示例,以帮助我们更好地理解您的问题/目标。检查并尝试此示例方法。当我单击链接时,所选的值必须存储到数组中。我再次选择两个不同的值并单击链接。这些值必须与其他值一起附加。最后,我希望显示该数组中的所有值。因此,您可能希望使用AJAX将选择值发布到您的PHP并存储在那里?这实际上非常有趣!我不知道html名称属性的行为是这样的。你介意制作一把小提琴来演示一下吗?这可不是OP想要的。每个选择框在页面上只使用一次。@jtheman它仍然非常接近。。。可能需要稍作调整,但问题也不太清楚。@Salketer如果问题不清楚,是否习惯添加注释以要求澄清?不,完全不结束,因为数组的使用在每个选择框内,而不是在框之间。此外,他希望在每次提交后存储值。我无法遵循会话部分。如何将这些值发送到控制器并在widout会话中显示?这是以最基本的方式使用PHP本机会话。您没有告诉我们您正在使用的控制器。这只是将表单数据添加到会话cookie中的一个非常基本的脚本。我猜不出你的设置,所以请包括有关PHP基础设施的相关信息,并在原始问题中作为编辑发布。但我认为我的解决方案正是你想要的。
<div class="selectLine">
<select name="sq[]" >
<option value=""></option>
</select>

<select name="as[]" >
<option value=""></option>
</select></div>
<a id="addOption">
$('#addOption').click(function(){
    $('.selectLine').last().after($('.selectLine').outerHtml());
    $('.selectLine').last().prev().hide();
});
foreach($_POST['sq'] as $key=>$name){
    //Make sure you stay consistent with the keys to make sure the 2 values were entered at the same time.
    echo '<p>'.$name.' is a '.$_POST['as'][$key].'</p>';
}
$('#submitlink').click(function(event) {
    event.preventDefault(); // Stops default link behaviour on click         
    $.ajax({ 
      url: "yourphp.php", // where to send
      data: 'sq=' + $('#sq').val() + '&as=' + $('#as').val(), // select values
      type: "POST",
      success: function(data){
           // If you want to confirm
           alert('Added');
      }
   });
});
<?php
   session_start();
   if (!isset($_SESSION['sq']) $_SESSION['sq'] = array();
   $_SESSION['sq'][] = $_POST['sq'];

   if (!isset($_SESSION['as']) $_SESSION['as'] = array();
   $_SESSION['as'][] = $_POST['as'];

  ?>
<?php
   session_start();
   if (isset($_SESSION['sq']) print_r($_SESSION['sq']);
   if (isset($_SESSION['as']) print_r($_SESSION['as']);
?>