我有两个表
是关于做插入数据的
网页上有30个字段要填,其中ID是tt1,tt2,tt3...tt30这种格式的SQL语句应该怎么样写才好
如果在表1有字段没输入的话,就传递到表2的时候为空,当有字段为空的时候就插入不到数据!
应该怎么样判断表1传递过来的数据?
<?php
for ($i=1; $i<31; $i++){
$tt="tt".$i;
$value = $_POST[$tt];
if($i == 30){
$colums .= $tt; //字段名
$values .= $value;// 值
}else{
$colums .= $tt.",";
$values .= $value.",";
}
}$sql="insert into test(".$colums.") values(".$values.")";
?>
是关于做插入数据的
网页上有30个字段要填,其中ID是tt1,tt2,tt3...tt30这种格式的SQL语句应该怎么样写才好
如果在表1有字段没输入的话,就传递到表2的时候为空,当有字段为空的时候就插入不到数据!
应该怎么样判断表1传递过来的数据?
<?php
for ($i=1; $i<31; $i++){
$tt="tt".$i;
$value = $_POST[$tt];
if($i == 30){
$colums .= $tt; //字段名
$values .= $value;// 值
}else{
$colums .= $tt.",";
$values .= $value.",";
}
}$sql="insert into test(".$colums.") values(".$values.")";
?>
如果可以的话,可以如下操作:
<?php
for ($i=1; $i<31; $i++){
$tt="tt".$i;
// 如果没有设置$tti的值,则默认为空字符
$value = (isset($_POST[$tt])) ? $_POST[$tt] : "";
if($i == 30){
$colums .= $tt; //字段名
$values .= $value;// 值
}else{
$colums .= $tt.",";
$values .= $value.",";
}
}$sql="insert into test(".$colums.") values(".$values.")";
?>
$sql = "insert into test set ";
for ($i=1; $i<31; $i++){
$tt="tt".$i;
if(isset($_POST[$tt]) && $_POST[$tt]!=""){
$sql .= ($i==1?"":",")."`{$tt}`='{$_POST[$tt]}'";
}else{
die($tt.' 输入为空!');
}
}
echo $sql;
$jg = array(
'tt1' => '',
'tt2' => 0,
'tt3' => 0,
...
)
然后,用提交的数据充填这个数组
$t = array_merge($jg, $_POST);
最后组装成 sql 语句
$fields = join(',', array_keys($t)); //提取关联键并连接为串
$values = "'". join("','", $t) ."'"; //提取数据并连接成串
$sql = "insert into tbl_name ($fields) values ($values)";对于表单元素名就是字段名的这种情况,不用循环要通用些
声明一下:我表1里有单选按钮的
SQL如果表1里有空的字段值就会出错,数据库是可以存放空数据的
if(mysql_query($sql))
{
echo("<script language='javascript'>alert('成功');parent.location.href='test.php';</script>");
exit();
}
else
{
echo("<script language='javascript'>alert('失败!');parent.location.href='test1.php';</script>");
exit();