簡體   English   中英

如何從一個字段更改的表單數據中在MySQL中輸入多行

[英]How to enter multiple rows in mySQL from form data where one field changes

我有一個表格,詢問有關工作的一些基本問題,然后要求進入的人員列出當時與他們在一起的所有同事。 我要為在場的所有同事在數據庫中輸入一行-因此所有其他細節都保持不變,除了他們的work_id(這是該人的標識符)之外。 我的下面的代碼似乎將1行提交到數據庫,而workID字段為空

<?php
require_once('includes/dbconnect.php');

$varWorkID = $_POST['workid'];
$varDate = $_POST['date'];
$varType = $_POST['type'];
$varSuper = $_POST['supervisor'];
$varReference = $_POST['reference'];

//Remove last part of array as extra 1 sent through by form 
$workID = array_pop($varWorkID);

for ($i=0; $i < count($workID); $i++ )
{
    mysqli_query($conn,"INSERT INTO searches (workid,date,type,super,reference) VALUES('".$workID."','".$varDate."','".$varType."','".$varSuper."','".$varReference."')");
}
echo "Completed";

我想我已經很接近了,但是我只需要獲取工作ID即可為在場的每位員工填寫每個工作ID。

任何幫助表示贊賞

這里的問題是您正在調用$workID = array_pop($varWorkID); 在進入for ($i=0; $i < count($workID); $i++ )循環之前,PHP解釋器認為您只想遍歷該元素的長度。 您真正想要做的是在循環從數組中彈出一個元素。

<?php
require_once('includes/dbconnect.php');

$varWorkID = $_POST['workid'];
$varDate = $_POST['date'];
$varType = $_POST['type'];
$varSuper = $_POST['supervisor'];
$varReference = $_POST['reference'];


// iterate over the count of the whole array $varWorkID = $_POST['workid']
for ($i=0; $i < count($varWorkID); $i++ )
{
    // now pop off the array inside the loop
    //Remove last part of array as extra 1 sent through by form 
    $workID = array_pop($varWorkID);
    mysqli_query($conn,"INSERT INTO searches (workid,date,type,super,reference) VALUES('".$workID."','".$varDate."','".$varType."','".$varSuper."','".$varReference."')");
}
echo "Completed";

現在我認為@Dima Fitiskin的評論提出了一種更好的方法,因為當您已經有一個對索引$i的迭代引用時,您實際上並不需要花費調用另一個函數array_pop或在$workID堆棧上拋出另一個變量的開銷。環。

<?php
require_once('includes/dbconnect.php');

$varWorkID = $_POST['workid'];
$varDate = $_POST['date'];
$varType = $_POST['type'];
$varSuper = $_POST['supervisor'];
$varReference = $_POST['reference'];


// iterate over the count of the whole array $varWorkID = $_POST['workid']
for ($i=0; $i < count($varWorkID); $i++ )
{
    mysqli_query($conn,"INSERT INTO searches (workid,date,type,super,reference) VALUES('".$varWorkID[$i]."','".$varDate."','".$varType."','".$varSuper."','".$varReference."')");
}
echo "Completed";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM