【发布时间】:2017-12-08 13:13:18
【问题描述】:
让这个过程将数据插入两个表并且工作正常,但问题是如果我选择 3 个图像上传并将它们查询到 db 并且当我提交我的表单时我看到 3 个查询插入到 db 中并且必须成为表格游览中的一个和游览中具有相同 ID 的 3 个插入:在表格 poze_articol 中,用于行中游览具有相同 ID 的图像路径 (pid).. 这里有问题
php代码:
<?php
$servername = "";
$username = "";
$password = "";
$dbname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if(isset($_POST['addtour']))
{
#### START FROM HERE I THINK IS THE PROBLEM ###
define ("MAX_SIZE","9000");
function getExtension($str)
{
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$valid_formats = array("jpg", "png", "bmp","jpeg");
$uploaddir = "../../../img/carousel/"; //image upload directory
foreach ($_FILES['photos']['name'] as $name => $value)
{
$filename = stripslashes($_FILES['photos']['name'][$name]);
$size=filesize($_FILES['photos']['tmp_name'][$name]);
//get the extension of the file in a lower case format
$ext = getExtension($filename);
$ext = strtolower($ext);
if(in_array($ext,$valid_formats))
{
if ($size < (MAX_SIZE*1024))
{
$image_name=time().$filename;
$newname=$uploaddir.$image_name;
if (move_uploaded_file($_FILES['photos']['tmp_name'][$name], $newname))
{
$sql2 = "INSERT INTO tours (titlu,durata,descriere,pret,ribbon,titlu_slider,desc_slider,descriere_box,titlu_box1,desc_box1,titlu_box2,desc_box2,titlu_box3,desc_box3,titlu_box4,desc_box4) VALUES (
'".$_POST["oras_caseta"]."',
'".$_POST["durata_caseta"]."',
'".$_POST["descriere_caseta"]."',
'".$_POST["pret_caseta"]."',
'".$_POST["icon_caseta"]."',
'".$_POST["titlu_slider"]."',
'".$_POST["descriere_slider"]."',
'".$_POST["descriere_overview"]."',
'".$_POST["titlu_box1"]."',
'".$_POST["desc_box1"]."',
'".$_POST["titlu_box2"]."',
'".$_POST["desc_box2"]."',
'".$_POST["titlu_box3"]."',
'".$_POST["desc_box3"]."',
'".$_POST["titlu_box4"]."',
'".$_POST["desc_box4"]."')";
if ($conn->query($sql2) === TRUE) {
$last_id = $conn->insert_id;
echo '<div class="alert alert-success" role="alert">
<strong>Bravo!</strong> Ai adaugat cu succes un traseu pe site.
</div>';
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$sql = "INSERT INTO poze_articol (poza_articol,pid) VALUES ('img/carousel/$image_name','$last_id')";
if ($conn->query($sql) === TRUE) {}
}
}
}
}
}
$conn->close();
?>
【问题讨论】:
-
那么,有什么问题呢?现在发生了什么?
-
当我点击提交时,正确的方法是在表
tours中插入一个查询,在表poze_articol中插入一张、两张、三张或我选择插入多少张相同的图片旅游表中的 id ..但是插入所有不同的 id ..