我知道可以拆分要插入多个列/行的数组,但我只是难倒。
说我们有类似的东西....
排列
(
[john] =>蓝色
[lee] =>红色
[sylva] =>绿色
[paul] =>黑
)
在我的表中,我有三列,即id,name,color。如何插入这些元素,以便我的表中的行递增(基于此数组,它应该总共4行).. 感谢。
答案 0 :(得分:2)
如果您的意思是要将数组插入数据库表,那么:
foreach($yourArr as $name => $color) {
//your insert query here
$name = mysql_real_escape_string($name);
$color = mysql_real_escape_string($color);
$sql = "INSERT INTO TABLE_NAME VALUES ('$name', '$color')";
$query = mysql_query($sql);
}
你的意思是这样的......
答案 1 :(得分:0)
$counter=1;
foreach ($yourarray as $key=>$item){
?> <tr>
<td> <? echo $counter; ?></td>
<td> <? echo $key; ?></td>
<td> <? echo $item; ?></td>
</tr><?
$counter++;
}
如果你的意思是html table。
答案 2 :(得分:0)
如果你的id
有auto_increment这就是我使用的解决方案:
$data = Array ( 'john' => 'blue', 'lee' => 'red', 'sylva' => 'green', 'paul' => 'black');
$items = array();
foreach($data as $key => $val) $items[]="('$key', '$val')";
$sql = "insert into table (`name`,`color`) values".implode(',',$items);
echo $sql;
答案 3 :(得分:-1)
$query = '';
foreach($array as $key=>$value){
$query .= "insert into table(name,color) values('".$key."','".$value."')";
}
echo $query;
由于没有数组中的条目,您的插入查询将被构建,您可以触发DB来更新表(假设自动增量ID)
答案 4 :(得分:-1)
更好/最佳解决方案!
<?php
$data = Array ( 'john' => 'blue', 'lee' => 'red', 'sylva' => 'green', 'paul' => 'black');
$sqlPart='';
foreach($data as $key => $val)
$key = mysql_real_escape_string($key);
$val = mysql_real_escape_string($val);
$sqlPart .= "('$key' , '$val'), ";
$sqlPart = rtrim($sqlPart , ', ').';';
$sql = 'INSERT INTO `table`(`name`,`color`) VALUES '.$sqlPart;
echo $sql;
?>
输出:
INSERT INTO table
(name
,color
)VALUES
('john','blue'), ('lee','red'), ('sylva','green'), ('保罗','黑');