我有这个表格,它将我的产品信息插入我的数据库,在同一页面上,我有另一个表格,在我的数据库的另一个表格上插入同一个项目的图像,我有5个申请上传图片,现在当我插入我的产品信息我创建$db->insert_id
以便在我上传其他表单上的图像时使用它来定义图像ID以便稍后调用它们。
先看代码
<?php
if (isset($_POST['submit'])){
$target = '../images/Projects/';
$pro_name = $_POST['pro_name'];
$pro_address = $_POST['pro_address'];
$area_from = $_POST['area_from'];
$area_to = $_POST['area_to'];
$pro_kind = $_POST['pro_kind'];
$pro_finish = $_POST['pro_finish'];
$pro_small_rooms = $_POST['pro_small_rooms'];
$pro_big_rooms = $_POST['pro_big_rooms'];
$pro_receptions = $_POST['pro_receptions'];
$pro_small_bathrooms = $_POST['pro_small_bathrooms'];
$pro_big_bathrooms = $_POST['pro_big_bathrooms'];
$pro_description = $_POST['pro_description'];
$proActivity=$_POST['propActivity'];
$putData = "INSERT INTO project_info (id, pro_title, pro_address, pro_area_from, pro_area_to, pro_kind, pro_description, pro_finish, pro_big_rooms, pro_small_rooms, pro_reception, pro_big_bathroom, pro_small_bathroom, propActivity) values ( '', '$pro_name', '$pro_address', '$area_from', '$area_to', '$pro_kind', '$pro_description', '$pro_finish', '$pro_big_rooms', '$pro_small_rooms', '$pro_receptions', '$pro_big_bathrooms', '$pro_small_bathrooms', '$proActivity')";
$result = $db->query( $putData ) or die ( $db->error );
$projectID=$db->insert_id;
}
if(isset($_POST['submitImages'])){
$target = '../images/Projects/';
$num=1;
foreach ($_FILES["img"]["error"] as $key => $error)
{
if ($error==UPLOAD_ERR_OK)
{
$tmp_name = $_FILES["img"]["tmp_name"][$key];
$name = $_FILES["img"]["name"][$key];
move_uploaded_file($tmp_name, "$target/$name");
$putData = "INSERT INTO projects_images (id, image, image_id)VALUE('', '$name', '$projectID')";
$result = $db->query($putData)or die($db->error);
if($result){
echo "OK";
}else{
echo"error";
}
}
}
}
?>
现在我有两个提交在同一页面上的两个表单,所以可以将$db->insert_id
值传递给表单2,如果不是,我可以如何解决这个问题。
答案 0 :(得分:2)
好的,让我直截了当。
现在我有两个提交在同一页面上的两个表格
你想要的是你的页面有两种不同的形式
我先做一些假设
请给我一些评论,我很乐意扩展你的主张
PD:顺便说一下,我们只应该使用PHP吗?这是一个模型骨架脚本,可以向您展示您可以做什么
// some starter logic
if (isset($_POST['operation'])) switch ($_POST['operation']) {
case 'createProject':
// logic behind submitting this form
// all goes well
$selectedProyect = $someResultFromLogic_MaybeAnObjectThatHoldsAnId;
break;
case 'fileLoader':
// logic behind submitting this form
break;
default: $msg = 'Unknown operation: '.$_POST['operation']; break;
}
if ($selectedProyect) {
// the user has already submitted our project info form
include 'fileLoaderForm.template.php';
} else {
// the user is setting up a new project
include 'createProyectForm.php';
}
当然,无论你想要构建什么样的东西,这都会变得很复杂。有一些框架可以帮助您更好地组织代码,我知道(并且已经使用过)MVC。我制作了不同复杂程度的MVC,但是有一些社区驱动的项目可以解决奇迹问题。我想你的下一步行动是做更多的研究
答案 1 :(得分:0)
当你处理两个单独的表格时,你应该