مشکل با حلقه for

Minoo2

New Member
سلام به همگی
من یه مشکلی داشتم که از دوستان خواهش می کنم اگه می تونن کمک کنن
من یه فرم برای وارد کردن نمره دارم که با حلقه for نوشتم به شکل زیر:
<?php for($i=1;$i<=25;$i++){ ?>
<tr>
<td><input name="number" size=1 value="<?php echo $i; ?>"></td>
<td><input name="name" size=15></td>
<td><input name="nomre" size=5></td>
</tr>

حالا می خوام این تکست باکس ها که ممکنه 25 تا ( یا کمتر) باشه توی DB ذخیره کنم اما از طریق $_POST فقط آخرین تکست باکس ذخیره می شه و مقدارهای داخل حلقه رو نمی دونم چه جوری باید ذخیره کنم
لطف بزرگی می کنه هر کسی که راهنماییم کنه
ممنون
 

Dark-M4N

Member
ببین این به کارت میاد یا ن!

PHP:
<?
for($i=0;$i<25;$i++}{
<tr>
<td><input name="number" size=1 value="echo '$i'"></td>
<td><input name="name" size=15></td>
<td><input name="nomre" size=5></td>
</tr>
<hr>
?>
 

foranyone

Well-Known Member
می تونین برای طراحی فرم از حلق for جاوا اسکریپت استفاده کنین و اطلاعات فرم رو بفرستین برای یک صفحه دیگه برای

پردازش یعنی اینجوری یه جورایی از معماری چندلایه هم استفاده می کنین!!!
 
سلام . فکر کنم منظورتون این بود :
PHP:
for($i=1;$i<=25;$i++)
{
	echo	"
	<tr>
		<td><input name=\"number\" size=\"1\" value=\"$i\"></td>
		<td><input name=\"name\" size=\"15\"></td>
		<td><input name=\"nomre\" size=\"5\"></td>
	</tr>";
	$nomreh= array();
	$nomreh[$i] = $_post['nomre'];
}
 

saidshp

Member
از این کد استفاده کنید تمام محتوای فرم تبدیل به سه ارایه میشه که در متغیر $_POST قرار می گیره که هر کدوم 25 ایندکس مشابه داره باید سه تا سه تا توی یک سطر insert کنید برای insert کردن می تونید تمام sql رو با استفاده از یک حلقه for بسازید وفقط یک query رو اجرا کنید.
PHP:
<table>
<form action="" method="post" >
<?php for($i=1;$i<=25;$i++){ ?>
<tr>
<td><input name="number[<?php echo $i; ?>]" size=1 value="<?php echo $i; ?>"></td>
<td><input name="name[<?php echo $i; ?>]" size=15></td>
<td><input name="nomre[<?php echo $i; ?>]" size=5></td>
</tr>
<?php } ?>
</table>
<input type="submit" />
</form>
 

Dark-M4N

Member
سلام . فکر کنم منظورتون این بود :
PHP:
for($i=1;$i<=25;$i++)
{
    echo    "
    <tr>
        <td><input name=\"number\" size=\"1\" value=\"$i\"></td>
        <td><input name=\"name\" size=\"15\"></td>
        <td><input name=\"nomre\" size=\"5\"></td>
    </tr>";
    $nomreh= array();
    $nomreh[$i] = $_post['nomre'];
}


ااااا راست میگی

واسه من اصلآ اکو هم نداره

شرمنده

آقا امیر دست شما هم مرسی

موفق باشی
 

Minoo2

New Member
سلام
شاید بهتر باشه یه کم بیشتر راجع به مشکلم توضیح بدم:
من با کشیدن 25 تا تکست باکس مشکلی ندارم با ذخیره کردن مقداری که توش نوشته می شه مشکل دارم، کدی هم که امیر خان زحمت کشیدن مشکلش اینه که $_POST رو توی همون صفحه داره استفاده می کنه در صورتی که محتویات تکست باکس من به یه صفحه دیگه فرستاده می شه
من یه بار دیگه کدمو می نویسم اگر درستش کنین ممنون می شم​

PHP:
<form method="POST" action="add.php>
<?php 
for($i=1;$i<=25;$i++){ 
?> 
<tr>
<td><input name="name" size=15> </td>
<td><input name="nomre" size=5> </td>
</tr>
<?php
}
?>

کد در صفحه add.php​

PHP:
for($i=1;$i<=25;$i++){
$nomre= array(array("name"=>"$_POST[name]","nomre"=>"$_POST[nomre]"));
echo  $nomre['name'][$i];
echo  $nomre['nomre'][$i];
}
 
آخرین ویرایش:

Dark-M4N

Member
شما بگو میخوای توی دیتابیس ذخیره کنی یا توی یه فایل من بهتون بگم چشه کده

موفق باشید
 

Minoo2

New Member
از این کد استفاده کنید تمام محتوای فرم تبدیل به سه ارایه میشه که در متغیر $_post قرار می گیره که هر کدوم 25 ایندکس مشابه داره باید سه تا سه تا توی یک سطر insert کنید برای insert کردن می تونید تمام sql رو با استفاده از یک حلقه for بسازید وفقط یک query رو اجرا کنید.
PHP:
<table>
<form action="" method="post" >
<?php for($i=1;$i<=25;$i++){ ?>
<tr>
<td><input name="number[<?php echo $i; ?>]" size=1 value="<?php echo $i; ?>"></td>
<td><input name="name[<?php echo $i; ?>]" size=15></td>
<td><input name="nomre[<?php echo $i; ?>]" size=5></td>
</tr>
<?php } ?>
</table>
<input type="submit" />
</form>



کد شما رو هم امتحان کردم اما موفق نشدم :(
 

yakoza

Well-Known Member
سلام

اینم کد من

PHP:
<form method="POST" action="">
<?php
for($i=1;$i<=25;$i++){ 
?> 
<tr>
<td><input name="<?php echo "name".$i ?>" size="15" /> </td>
<td><input name="<?php echo "nomre".$i ?>" size="5" /> </td>
</tr>

<?php
}
echo '<input type="submit" name="sub" />';
?>

اینم کد add.php

PHP:
if(isset($_POST['sub']))
{
	echo "<pre>";
$nomre=array();
for($i=1;$i<=25;$i++)
{
	$nomre[]=array("name".$i =>$_POST['name'.$i],"nomre".$i=>$_POST['nomre'.$i]);
	
}  
print_r($nomre);
}
 

جدیدترین ارسال ها

بالا