PDA

View Full Version : سوال: اضافه کردن فیلد به صورت اتوماتیک



salman.t
یک شنبه 22 تیر 1393, 09:22 صبح
با عرض سلام دوباره اول بگم بابت سوالات زیادم عذر میخوام و اینها سوالات اخر هستن

من میخوام از کاربر یک سوال کنم که ممکنه چند جواب داشته باشد مثلا نام فرزندان و شماره شناسنامه آنها، خب معلوم نیست که کاربر چند فرزند دارد بنابراین با استفاده از این کد بصورت اتوماتیک بازدن ادد 3 تکست فیلد جدید اضافه میشه

و میخواهم تمام اطلاعات مربوط به فرزندان در یک فیلد در دیتابیس ذخیره شود

مثلا:علی محمدی 46103056655

سوال:متاسفانه هرچی با این کد فیلد اضافه میکنم فقط فیلد اخر در دیتا بیس ذخیره میشه یعنی اگه 7تا فیلد ادد کنم فقط فیلد هفتمی ذخیره میشه




html> <head> <title></title> <script language="javascript"> fields = 0; function addInput() { if (fields != 10) { document.getElementById('text').innerHTML += "<br>Title: <input type='text' name='title' /><br />Name: <input type='text' name='name' /><br />Copy: <input type='text' name='copy' /><br>"; fields += 1; } else { document.getElementById('text').innerHTML += "<br />Only 10 data entries allowed."; document.form.add.disabled=true; } } field = 0; function addErase() { if (field != 1) { document.getElementById('erase').innerHTML += "<input type='button' onclick='reset()' value='Reset fields' />"; field += 1; } else { } } </script> </head> <body> <form name="form" action="form.php" method="post"> Title: <input type="text" name="title" /> <br />Name: <input type="text" name="name" /> <br />Copy: <input type="text" name="copy" /> <p> <div id="text"> </div> </p> <p> <input type="button" onclick="addInput(),addErase()" name="add" value="Add input field" /> </p> <br /> <input type="submit" value="Submit" /> <div id="erase"> </div> </form> </body> </html

hamidhassas
یک شنبه 22 تیر 1393, 10:14 صبح
باید کاری کنی که مثلا اگه input شما یکی بود در قسمت name یک عدد بهش اضافه بشه یعنی اگه 10 تا input داشتی مقدار name تبدیل بشه به name1, name2, name3 الی آخر بعد بیای تو کد زخیره در دیتابیس تعداد input هارو که داری پشت سر هم در یک متغیر لست کنی بعد زخیره



تعداد فرزندان
<form name="form" action="Untitled-4.php" method="post">
<input type="text" name="number" /><br><br><br>
<?php
if($_POST['number']!='')
{
$number=$_POST['number']+1;
for ($i=1; $i<$number; ++$i){
$A=$i;
echo("مشخصات فرزند $A<br><input type=\"text\" name=\"name$A\" /><br><br>");
}
}
?>
<input type="submit"/>
</form>

خوب حلا تعداد مقدار ها رو بگیر و در یک متغییر مثلا $save بریز بعد $save رو در دیتابیس زخیره کن



if(isset($_POST['number']))
{
foreach($_POST as $field => $val)
{
echo $field.' : '.$val;
}
}
$save="".$_POST['name1'].",".$_POST['name2'].",".$_POST['name3'].",".$_POST['name4'].",".$_POST['name5'].",".$_POST['name6'].",".$_POST['name7'].",";

salman.t
یک شنبه 22 تیر 1393, 10:58 صبح
باید کاری کنی که مثلا اگه input شما یکی بود در قسمت name یک عدد بهش اضافه بشه یعنی اگه 10 تا input داشتی مقدار name تبدیل بشه به name1, name2, name3 الی آخر بعد بیای تو کد زخیره در دیتابیس تعداد input هارو که داری پشت سر هم در یک متغیر لست کنی بعد زخیره



تعداد فرزندان
<form name="form" action="Untitled-4.php" method="post">
<input type="text" name="number" /><br><br><br>
<?php
if($_POST['number']!='')
{
$number=$_POST['number']+1;
for ($i=1; $i<$number; ++$i){
$A=$i;
echo("مشخصات فرزند $A<br><input type=\"text\" name=\"name$A\" /><br><br>");
}
}
?>
<input type="submit"/>
</form>

خوب حلا تعداد مقدار ها رو بگیر و در یک متغییر مثلا $save بریز بعد $save رو در دیتابیس زخیره کن



if(isset($_POST['number']))
{
foreach($_POST as $field => $val)
{
echo $field.' : '.$val;
}
}
$save="".$_POST['name1'].",".$_POST['name2'].",".$_POST['name3'].",".$_POST['name4'].",".$_POST['name5'].",".$_POST['name6'].",".$_POST['name7'].",";



سلام دوست عزیز متاسفانه من هیچ سر در نیوردم البته از کدهای شما چرا اما از تلفیق کد قبلی با کدهای شما هیچی نفهمیدم
شما که زحمت کشیدید اگه از تلفیق این دو یه کدی قرار بدید که وقتی ادد رو میزنم یک فیلد اضافه کنه و اسمشو بزاره مثلا نامبر دو مدیونتون میشم شرمندم میکنید البته با عرض معذرت و خواهش از شما

hamidhassas
یک شنبه 22 تیر 1393, 11:25 صبح
من جاوا بلد نیستم کد زیر رو نگاه کن ببین دقیقا میفهمی که من چکار کردن بعد همین کار رو در کد خودت انجام بده برا منم بزار

121079

bagherok
یک شنبه 22 تیر 1393, 16:11 عصر
<?php
if(count($_POST)>0){
$data=null;
foreach($_POST as $field => $val){
$data.=$val.',';
}
echo $data=rtrim($data,',');
}
?>

<html><head> <title></title>
<script language="javascript">
var fields = 0;
var name='name';
var title='title';
var copy='copy';
function addInput() {
if (fields != 10) {
fields += 1;
var i=fields.toString();
document.getElementById('text').innerHTML +=
"Title: <input type='text' name='"+title+i+"'/>Name: <input type='text' name='"+name+i+"' />Copy: <input type='text' name='"+copy+i+"' /><br /><br />";
}
else {
document.getElementById('text').innerHTML += "Only 10 data entries allowed.";
document.form.add.disabled=true;
}
}

field = 0;
function addErase() {
if (field != 1) {
document.getElementById('erase').innerHTML +=
"<input type='button' onclick='reset()' value='Reset fields' />";
field += 1;
}

else {
}
}
</script>
</head>
<body>
<form name="form" action="" method="post">
Title: <input type="text" name="title" />
Name: <input type="text" name="name" />
Copy: <input type="text" name="copy" />
<p><div id="text"></div></p>
<p><input type="button" onclick="addInput(),addErase()" name="add" value="Add input field" /></p>
<input type="submit" value="Submit" /><br />
<br /><div id="erase">
</div>
</form>
</body>
</html>