我的前端和后端代码如下所示。它工作得很好。从这个页面我将2个数组发送到另一个页面。在那里,我想合并数组并插入到MySQL表中。这是我的头版。
<?php
include("db.php");
$team_id=$_GET['team_id'];
$sql1=mysql_query("select members from team where team_id='$team_id'");
$sql=mysql_query("select user_id,full_name from users where school_id= '1'");
while($array=mysql_fetch_assoc($sql))
{
$x[] = $array['user_id'];
}
echo "</br>";
$row1=mysql_fetch_array($sql1);
$member=unserialize($row1['members']);
echo "<form action='ad_team_mem_db.php' method='post'>";
echo "<select name='mem[]' size='25' multiple='multiple'>";
foreach(array_diff_assoc($x ,$member) as $item)
{
$sqlf=mysql_query("select user_id,full_name from users where school_id=1 and user_id='$item'");
if($roww=mysql_fetch_array($sqlf)){
echo "<option value='".$roww['user_id']."'>".$roww['full_name']."</option>";
}
}
echo "</select></br>";
echo "<input type='hidden' value='$member' name='member[]'>";
echo "<input type='submit'>";
echo "</form>";
echo "</br>";
?>
这是我的后端页面。在这个页面中,我无法合并2个数组。
<?
include("db.php");
$mem=$_POST['mem'];
$member=$_POST['member'];
**$members = array_merge ($member, $mem);**
?>
错误讯息
警告:array_merge()[function.array-merge]:参数#1不是第5行的C:\ AppServ \ www \ teen \ ad_team_mem_db.php中的数组
答案 0 :(得分:1)
您可以这样做:
echo "<input type='hidden' value='$member' name='member[]'>";
$member
是一个PHP数组,你最终会在表单中看到:
<input type='hidden' value='Array' name='member[]'>
在POSTing时将是一个简单的字符串,这就是你的array_merge失败的原因。
答案 1 :(得分:0)
我认为您可能需要在合并之前取消序列化POST变量。
答案 2 :(得分:0)
试
$members = array_merge ((array) $member, (array) $mem);