簡體   English   中英

將表格中的數組值插入mysql

[英]Inserting Array values from form into mysql

我有3個PHP文件,在select.php文件中,您必須選擇所需的表單數量。該表單包含3個輸入字段。 如下:

  <form method="post" action="index.php" >
     Continue insertion with <select name="counters" id="insert_rows">
    <option value="1">1</option>
    <option value="2" selected="selected">2</option>
    <option value="3">3</option>
    </select>
     rows
    <input type="submit" value="Go" />
    </form>

選擇插入次數后,它將把該數目傳遞給包含以下內容的index.php:

<?php
    echo "<form method = 'POST' action = 'process.php'>";
    for($counter = 0; $counter < $_POST['counters']; $counter++)
    {
        echo "Service Name: <input type = 'text' name = 'name[]' class = 'class_name'/><br/>";
        echo "Service Version :    <input type = 'text' name = 'version[]' class = 'class_name'/><br/>";
        echo "Service type :    <input type = 'text' name = 'type[]' class = 'class_name'/><br/>";
    }
    echo "<input type = 'submit' value = 'SEND'/>";
    echo "</form>";
?>

第三個文件process.php包含

<?php

    $name = array();
    $version = array();
    $type= array();

    $name = $_POST['name'];
    $version = $_POST['version'];
    $type= $_POST['type'];

    for($counter = 0; $counter < sizeof($name); $counter++)
    {
        echo "service_name #".($counter + 1).": ".$name[$counter]."<br />";
        echo "service_version #".($counter + 1).": ".$version[$counter]."<br />";
        echo "service_type #".($counter + 1).": ".$type[$counter]."<br />";
    }
    ?>

在我將值傳遞給它之后,它正確顯示了數據,如下所示

service_name#1:否service_version#1:v1 service_type#1:私人service_name#2:bandar service_version#2:v2 service_type#2:公共

所以我的問題是:如何在'process.php'文件中創建一個函數以將所有這些值插入數據庫。

我創建了一個名為“服務”的表,其中包含這些列“名稱,版本,類型”

我將等待您的支持。 謝謝

我建議將第一個提交的計數值保存在第二種形式的隱藏輸入中,這樣您就可以循環瀏覽並插入數據

<?php
  echo "<form method = 'POST' action = 'process.php'>";
  for($counter = 0; $counter < $_POST['counters']; $counter++)
  {
     echo "Service Name: <input type = 'text' name = 'name[]' class = 'class_name'/><br/>";
     echo "Service Version :    <input type = 'text' name = 'version[]' class = 'class_name'/><br/>";
     echo "Service type :    <input type = 'text' name = 'type[]' class = 'class_name'/><br/>";
  }
  echo '<input type="hidden" name="cntr" value="'.$_POST['counters'].'" />'
  echo "<input type = 'submit' value = 'SEND'/>";
  echo "</form>";
?>

現在在您的process.php中,您將擁有:

if (!empty($_POST['cntr'])) {
   $query = 'INSERT INTO services (name, version, type) VALUES ';
   for ($x = 0; $x < $_POST['cntr']; $x++)
   {
      $query .= "('".mysqli_escape_string($_POST['name'][$x])."','"
                    .mysqli_escape_string($_POST['version'][$x])."','"
                    .mysqli_escape_string($_POST['type'][$x]).
                "'),";
   }
   $query = substr_replace($query, '', -1);

   mysqli->query($query);
}

我准備的只是一個示例,您可以根據自己的更改對其進行修改

暫無
暫無

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

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