从php数据动态地从ajax获取多个mysql插入

ozxc1zmp  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(473)

我尝试插入从ajax表单获得的多个值。像这样:

Array
(
    [0] => Hashtag1
    [1] => Hashtag2
    [2] => Hashtag3
    [3] => Hashtag4
)

然后我在请求中得到了一张照片,并从这张照片的用户所有者那里得到了一个id。
我有3个表将接收插入,而且很多。因为我需要在photo表中插入一次,这就是我要插入的照片和用户所有者id,并保存此插入的id以供下一步使用。在此之后,我需要插入所有的hashtag,数组中的每个值对应一个hashtag,在本例中,它是这样的:

Insert into hash_tag (`hash_tag_name`) values ("hashtag1"),("hashtag2"), etc.

我需要保存这行的所有id,因为现在我将在表photo\u tiene\u标签中插入id\u photo到我创建的每个标签中。
这就像:

Insert into photo_tiene_hashtag(`id_photo`,`id_hash_tag`) values (idPhotoThatIShouldHaveSaved, idHashtagThatIShouldHaveSaved1), (idPhotoThatIShouldHaveSaved, idHashtagThatIShouldHaveSaved2),
(idPhotoThatIShouldHaveSaved, idHashtagThatIShouldHaveSaved3),
etc.


我不知道如何应对这个挑战,可能我必须用php做一个begintransaction()并开始做一些查询,不知道,所有这些都必须在一个事务中,因为我需要确保所有步骤都正确通过。
对不起我的英语。
干杯!

zc0qhyus

zc0qhyus1#

您需要做的是,使用javascript=> var form = document.getElementById("#imageform"); 然后用javascript创建一个新的表单数据对象,并使用ajax、javascript ajax或jquery将其发送到php文件。 var formdata = new FormData(form); 使用发送此
http.open("post", "insert.php", true); http.send(formdata); 在php文件中,使用=> if(isset($_FILES['user_image'])){ echo var_dump($_FILES['user_image']['name']); } 在这里,您可以继续将图像文件上载到本地服务器,并将图像名称和id插入数据库,对于id,您可以使用$\u会话['username']或在java脚本中传递某种id。并将其与当前请求一起发布,如下所示。=>
http.open("post", "insert.php?user_id=" + user_id, true); http.send(formdata);

相关问题