PDA

View Full Version : سوال: خواندن پارامترهای post شده توسط فرم



toopak
دوشنبه 01 تیر 1394, 14:35 عصر
سلام
من یک فرم دارم که شامل چند input بصورت ثابت است
همچنین به صورت jquery یک سری input دیگه هم به ردیف هام اضافه میشه
میخواستم ببینم چطوری میتونم اون ورودی های اضافی رو بخونم
کد جدول که داخل فرم بوجود میاد بصورت زیر است:



<tr class="color">
<td><input name="starttime[]" type="text"></td>
<td><select name="stracture[]" id="sduration"></select></td>
<td><input name="title[]" type="hidden"></td>
</tr>
<tr class="color" >
<td colspan="12">
<input name="text[]" value="">
<input name="text[]" value="">
<input name="text[]" value="">
<input name="text[]" value="">
</td>
</tr>



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


starttime[]
stracture[]
title[]
text[]
text[]
text[]
starttime[]
stracture[]
title[]
text[]
starttime[]
stracture[]
title[]
text[]
text[]

حالا مشکل من اینه که برای مثال اولین ردیف 3 تا text برمیگردونه
دومی یدونه و سومی هم دوتا
حالا من چطوری میتونم اینارو بخونم بصورتی که هرکدوم از input ها برای ردیف خودشون باشن
ضمنا چون ایجاد ردیف ها بصورت jquery انجام میشه همیشه آخر اضافه نمیشه که بتونم به همه اینا ردیف اضافه کنم و برای مثال
title[0][] ایجاد کنم
تشکر از دوستان

reza_alie
دوشنبه 01 تیر 1394, 18:43 عصر
سلام خدمت شما
برای اینکه شما در این قسمت


<input name="text[]" value="">
اسم تمام text boxهار رو textگذاشتن

toopak
سه شنبه 02 تیر 1394, 08:45 صبح
ممنون ولی من تعداد نامعلوم برای هر ردیف text[] دارم که باید به همین صورت نوشته بشه
من میخوام ببینم چطوری با همین وضعیت بتونم اون فیلدهای text رو بخونم

arenaw
سه شنبه 02 تیر 1394, 09:07 صبح
خب وقتی میخواید ردیف اضافه کنید، یه ایندکس هم براش تعریف کنید. به طور مثال:


<tr data-index="1"> --- </tr>

حالا وقتی میخوای داخل این ردیف، تکست باکس اضافه کنی، توی اولین ایندکس بنویس 1 (همون ایندکس ردیف) و دومین ایندکس رو [] بذار.
یعنی یه چیزی مثل این:


<input name="text[rowIndex][textIndex]" type="text">
که مقدار rowIndex برابر ایندکس ردیف، و textIndex خالی هستش که خود پی‌اچ‌پی یه Array ازش درست میکنه.
بعدش توی پی اچ پی:


$rows = $_POST['text'];
foreach( $rows as $row ){
foreach( $row as $textBoxInThisRow ){
// do something
}

}