我有一个包含以下字段的事务数据库
trans_id prod_id
1 1
1 2
1 3
2 1
2 3
我需要将其转换为数组,其中属于同一事务的所有产品都将位于一个数组中,因此我可以使用以下代码对此进行处理,但它似乎不起作用。我在 while 循环的迭代过程中检查了 $value 的长度,它首先显示 2 然后再次显示 2 而不是 3 和 2 整个代码是这样的
<?php
// MySQL Database Structure:
// Name: tree
// Table: node
// Columns:id, parent, child
$con=mysql_CONNECT("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("tree", $con);
mysql_query("truncate table node");
$sql="INSERT INTO node (data,parent) VALUES(0,0)"; //first insertion for the root node
mysql_query($sql);
$par1=mysql_query("SELECT id FROM node where data=0");
$par=mysql_fetch_array($par1);
//echo $par['id'];
$abc="";
for($z=1;$z<=3;$z++)
{
$result= mysql_query("SELECT prod_id FROM user_prod WHERE trans_id=".$z);
while($value=mysql_fetch_array($result))
{
$abc.=$value['prod_id'].',';
}
$abc=substr($abc,0,-1);
$par=1;
$list=explode(',',$abc);
echo $list;
$size=count($list);
echo $size;
for($i=0;$i<$size;i++)
{
$sql="SELECT * FROM node where parent=".$par;
$result=mysql_query($sql);
$num=mysql_num_rows($result);
if($num==0)
{
$x="INSERT INTO node (data,parent) VALUES ($list[$i],$par)";//new value at root
mysql_query($x);
$par1= mysql_query("SELECT id FROM node where data=$list[$i]");
$par=mysql_fetch_array($par1);
}
else
{
while($x=mysql_fetch_array($result))
{
if($x['data']==$list[$i])
{
$par1= mysql_query("SELECT id FROM node where data=$list[$i]");
$par=mysql_fetch_array($par1);
break;
}
else
{
$x="INSERT INTO node (data,parent) VALUES ($list[$i],$par[id])";//new value at root
mysql_query($x);
$par1= mysql_query("SELECT id FROM node where data=$list[$i]");
$par=mysql_fetch_array($par1);
}
}
}
}
$abc="";
}
mysql_close($con);
?>
错误
这段代码似乎工作正常,但我一直得到这个
error
Parse error: syntax error, unexpected T_INC, expecting ')' in C:\xampp\htdocs\new_tree_sql.php on line 37
任何人都可以告诉如何摆脱它并看到所有错误吗??????