неограничен брой инпутове и запис в БД с различно id

IzKuFeLiQqQqQ

Registered
здравейте искам да попитам как ще стане примерно аз имам 2 <input type='text' name='this'/> как ще стане да може да се добавят до 15 инпута и всяка стойност от тях да се записва под различно id в базата ???
 
... form ...

<input type='text' name='this1'/>
<input type='text' name='this2'/>

....


<input type='text' name='this15'/>

<input type='submit' name='submit'/>

.../form ...

if ($_POST['submit']) {


for ($i=1; $i<=15; $i++){

mysql_query("INSERT INTO db_name (`col_name`) VALUES ('{$POST['this'.$i]}')");

}

}

Естествено, трябва да направиш проверки за валидни стойности, защита против инжекции и т.н.
 
Ето ти работещ код. Сложи твоята БД и името на колоната и го постави в страницата си.

Demo : http://web.geobg.info/?demo=many

<script type="text/javascript">
var n=0;

function add_input(){

document.getElementById("show_area").innerHTML += "<input type='text' name='this" + n + "'/><br/>";

document.getElementById("input_count").value = n;

n++;

}
</script>

<input type="button" value="Add" onclick="add_input()">




<form name="many_input" method="post">

<div id="show_area"></div>

<input type="hidden" value="0" name="input_count" id="input_count">

<input type='submit' name='submit'/>

</form>


<?php


if ($_POST['submit'])
{

for ($i = 0; $i <= $_POST['input_count']; $i++)
{

mysql_query("INSERT INTO db_name (`col_name`) VALUES ('" . $_POST['this' . $i] . "')");

}

}

?>
 
окси стана а как да го напрая подразбиране да има 1 input ??? пробвах се го напрая ама кода спря да бачка :shock: :roll:
 
бтв аз намерих един скрипт написах безмисленото 'many inputs js mysql' в google и то взеха че се появиха резултати :D:D

ето кода аз малко по оправих и добавих да записва в БД ;)
Код:
<style type="text/css">
#input_container {
width: 200px;
text-align: right;
}
#input_container input {
margin: 0 0px;
}
.hide {
visibility: hidden;
}
</style>
<script type="text/javascript">
function CreateEraseInput() {
var root=document.forms['root'];
var input_con=document.getElementById('input_container');
var create=root.elements['create'];
var erase=root.elements['erase'];
var i=2;

create.onclick=function () {
with (document) {
var label=createElement('label');
label.innerHTML='Field '+i;
var input=createElement('input');
input.type='text';
input.name='input'+i;
var br=createElement('br');
}
input_con.appendChild(label);
input_con.appendChild(input);
input_con.appendChild(br);
erase.style.visibility='visible';

if (i>=9) {
this.style.visibility='hidden';
}
i++;
}

erase.onclick=function () {
for (j=0;j<3;j++) {
input_con.removeChild(input_con.lastChild);
}
create.style.visibility='visible';
if (i<=3) {
this.style.visibility='hidden';
}
i--;
}
}
window.onload=CreateEraseInput;
</script>
  <meta http-equiv="content-type" content="text/html;  charset=UTF-8" />

<form name="root" method="post" action="">
<div id="input_container">
<label>Field 1</label><input type="text" name="input1"><br>
</div>
<input type="button" name="create" value="Добави поле">
<input type="button" class="hide"  name="erase" value="Изтрий поле">
<input type="submit" name="p">
</form>
<?php  
if($_POST['p']) {
for ($i = 1; $i <= $_POST['input'.$i]; $i++)
{
$q= mysql_query("INSERT INTO `test` (`col_name`,`for`) VALUES ('".$_POST['input'.$i]."','kolio')")or die(mysql_error());
}
}
?>

ако ще пипате кода гледайте да промените и js-то ;)
 

Back
Горе