Como salvar vários dados de caixas de texto dinamicamente adicionadas (JavaScript) no banco de dados MySQL?
Eu tenho tentado isso, mas não tenho sucesso. Eu estou usando PHP, HTML, JavaScript e MySQL. Aqui está o meu código HTML:
<code><div id="Author"> <LI>Author</LI> <input type = "text" name="Author[]" value = "1. "/> <input type="button" value="+" id="Authorbutton" onclick="addAuthor()" /> </div> </code>
Se o botão Adicionar for clicado, outra caixa de texto aparecerá e o usuário colocará outro nome. Aqui está meu JavaScript:
<code>var counter3 = 0; function addAuthor() { // Get the main Div in which all the other divs will be added var mainContainer = document.getElementById('Author'); // Create a new div for holding text and button input elements var newDiv = document.createElement('div'); // Create a new text input var newText = document.createElement('input'); newText.type = "text"; //var i = 1; newText.name = "Author[]"; newText.value = counter3 + 2 + ". "; //Counter starts from 2 since we already have one item //newText.class = "input.text"; // Create a new button input var newDelButton = document.createElement('input'); newDelButton.type = "button"; newDelButton.value = "-"; // Append new text input to the newDiv newDiv.appendChild(newText); // Append new button input to the newDiv newDiv.appendChild(newDelButton); // Append newDiv input to the mainContainer div mainContainer.appendChild(newDiv); counter3++; //i++; // Add a handler to button for deleting the newDiv from the mainContainer newDelButton.onclick = function() { mainContainer.removeChild(newDiv); counter3--; } } </code>
Aqui está o meu código PHP:
<code>if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db($database, $con); $sql="INSERT INTO savetest (type, number) VALUES ('$_POST[type]','$_POST[Author]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "1 record added"; mysql_close($con); echo "Thank you for submitting your details!"; </code>
Ouvi que muitas pessoas podem fazer isso funcionar usando matrizes, mas os dados que armazenei no banco de dados sãoArray
. Não importa quantas caixas de texto eu criei, apenasArray
.
Estou usando a abordagem correta? Devo salvar essa matriz de dados em um dos campos do banco de dados?