2014-11-22 124 views
2

我是新鲜的学习者。PHP插入组合到mysql

我发现了一个难度“做PHP与MySQL插入组合数据”

示例:1,2,3,4的组合是:

123 
124 
134 
234 

我想插入到一个MySQL数据库。

结果:

123 
124 
134 
234 
234 <= duplicate 

我无法找到问题出在哪里是。非常感谢。 :-)

$lista = array($a,$b,$c,$d); 
$b=1; 

for ($i=0; $i<=3; $i++) { 
    for ($j=$b; $j<=4;$j++) { 
    for ($k=$j+1; $j<count($lista); $j++) { 

     printf($lista[$i].','.$lista[$j].'<br>'); 

     $sql="INSERT INTO table10(id) 
      VALUES($lista[$i]$lista[$j])"; 
     mysql_query($sql, $con); 

     }   
    } 
    $b++; 
} 

回答

3

您可以创建阵列,以避免重复数据

$dupList=array(); 
//declare this array before loop 

//Hold $lista[$i] and $lista[$j] jointly in a variable 
$newVal=$lista[$i].$lista[$j]; 
if (!in_array($newVal, $dupList)) { 

     $sql="INSERT INTO table10(id) VALUES ($newVal)"; 
     mysql_query($sql, $con); 
     array_push($dupList,$newVal); 
} 
+0

我阵列逻辑不是很好,我已将此添加到我的代码之后。它出现错误。 “语法错误,意外的T_VARIABLE <从IF开始.....是否有什么不对我?我添加的代码作为另一个,请评论。非常感谢你 – oshk100100 2014-11-22 07:38:34

+0

我已更新我的答案 – 2014-11-22 08:01:10

+0

嗨,我上传了代码,它似乎有效,但记录仍然是重复的,我感到羞愧,对我来说是错误的,我花了将近2小时试图修复它,它不起作用,我可以让我的控制面板让你检查T^T。 – oshk100100 2014-11-22 10:24:45

1

我阵列逻辑不是很好,我已将此添加到我的代码之后。它出现错误。

语法错误,意想不到的T_VARIABLE从IF < 开始..... 它说的是我错了?我添加的代码如下。

$lista = array($a,$b,$c,$d); 
$dupList=array(); 
//declare this array before loop 
$b=1; 


for ($i=0; $i<=3; $i++) { 
    for ($j=$b; $j<=4;$j++) { 
     for ($k=$j+1; $j<count($lista); $j++) { 
      if (!in_array($lista[$i]$lista[$j], $dupList)) { 
       $sql="INSERT INTO table10(id) VALUES ($lista[$i]$lista[$j])"; 
       mysql_query($sql, $con); 
       array_push($dupList,$lista[$i]$lista[$j]); 
       } 
      } 
     } 
    $b++; 
}