更新图像数组

p4rjhz4m  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(332)

我有一张table叫 tabel_foto 里面有两个字段,分别是 foto (其中包含图像的名称),以及 kondisi (其中包含图像的描述) foto 以及 kondisi 的字段值来自内爆的多个图像上载。换句话说,我有一个上传表单,它可以上传多个图像,这些图像在插入sql表之前会被内爆,如下所示:

我可以将表中的图像显示为如下列表:

请忽略它的糟糕布局,它只是一个原型/实验,然后我添加一个新的功能到我的网站
我的问题是,如何将这些图像更新到我的表中?我只想更新已更改的图像,即: foto 的字段值为 borobudur.jpg, bromo.jpg, merapi.jpg, prambanan.jpg ,如果我更新表单中的第二个图像(bromo.jpg),我只想更新表单中的“bromo.jpg”字符串 foto 字段中,由于“文件上载”按钮是单个文件上载(而不是多个上载),如何在php中检测表单上更改的图像:

for($i = 0; $i < count($xplode_foto); $i++) {
    ?>
        <img src="<?php echo $xplode_foto[$i]; ?>" id="<?php echo $i; ?>">
        <input type="file" id="<?php echo $i; ?>" name="foto_kondisi" onChange="previewFotoJalan(this, this.id)">
    <?php
 }

提前感谢,感谢您的解答:)

67up9zun

67up9zun1#

考虑到将表列上的图像保存为img1、img2、img3,将描述保存为desc1、desc2、desc3,并考虑使用explode更新图像。
你可以这样改变:

<?php
$id = $_POST['imgid'];
//get images string from db and save to $x;
$images_array = explode(',', $x);
unset($images_array[$id]);
$y = implode (',', $images_array);
// now save again $y to db as images

//get description string from db and save to $x;
$desc_array = explode(',', $x);
unset($desc_array [$id]);
$y = implode (',', $desc_array);
// now save again $y to db as desc

希望这对你有帮助

snz8szmq

snz8szmq2#

我强烈建议您使用不同的mysql模式,比如这样。
照片\u id
组\u id
康迪西
此外,您还可以在每个图片上传后发送ajax请求,并刷新页面(或者只是一个div)。
这会让你的生活更轻松。。相信我。。。我去过那里。
成功!!

相关问题