• Как принять разные данные поля input при переборе данных с помощью foreach?

    @ryko_goop
    не знаю насколько еще актуально. Я сегодня столкнулся с той же ситуацией, когда при отправке данных с формы отправляется только данные выведенные циклом foreach последнего инпута.
    решается это очень просто. Надо чтобы у каждого выводимого foreach-ем инпута были уникальные атрибуты name.
    Сделал это так:
    $i=1;
    foreach($goods as $item){
    				
    if($item['id'] and $item['name']){
    				?>
    	<tr>
    		<td class="admin"><input name='<?php echo "ID".$i;?>' type='text' size='3' value='<?echo $item['id'];?>'/></td>
    		
    		<td class="admin"><textarea name='<?php echo "text_zadachi".$i;?>' cols="auto" rows="auto"><?echo $item['text_zadachi'];?></textarea></td>
    		
    		<td class="admin"><?echo $item['status'];?>
    		<select name='<?php echo "status".$i;?>'>
    					<option value="1">Выполнено</option>
    					<option value="0">Не выполнено</option>
    		</select>
    		</td>
    	</tr>
    				<?
    				$i++;}
    			}
    			?>
    т.е. по факту у тебя получиться первое 
    ID1 text_zadachi1 status1
    ID2 text_zadachi2 status2 
    и т.д.
    Запись в БД так же осуществлять циклом
    for($i=1;$i<=3;$i++){
    			$id=$_POST['ID'.$i];
    			$status=$_POST['status'.$i];
    			$text_zadachi=$_POST['text_zadachi'.$i];
                тут вызов метода записи в БД
    }
    таким образом он их все поочередно запишет в базу данных.
    Ответ написан
    Комментировать