2015-06-23 3 views
0

Я знаю, что есть похожие темы, но не удалось найти то, что я ищу. Поэтому мне нужно указать целевое имя ввода и цикл foreach только для этого ввода вместо всей формы.Foreach input php и mysql

HTML выглядит так, как показано ниже.

 <form action"<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" name="table1" method="post"> 
      <input name="something1" type="text" /> 
      <input name="something2" type="text" /> 
      <input name="something3" type="text" /> 
      <input name="something4" type="text" /> 
      <input name="something4" type="text" /> 
      <input name="something4" type="text" /> 
      <input name="button" type="submit" value="Add" />  
     </form> 

Итак, я хочу, чтобы каждый цикл «что-то 4» и просто игнорировал остальные. Это возможно?

Просто, чтобы объяснить, что я хочу делать со значением, для каждого «something4» я собираюсь добавить поле в свою БД и ввести соответствующее входное значение в это поле.

что-то вроде ниже ...

 $i = 0; 
     foreach ($_POST as $something4 => $something4_value) { 
      $add = mysqli_query($connect, "ALTER TABLE 'table' ADD something4$i VARCHAR(255) NOT NULL") or die (mysql_error()); 
      $sql_update = mysqli_query($con, "UPDATE 'table' SET something4$i='$something_value' WHERE id='$id'") or die (mysql_error()); 
      $i++; 
     } 

Я надеюсь, что это имеет смысл! Спасибо! :)

+1

использовать 'something4 []' –

ответ

2

Создание каждого из в массив как это:

<input name="something4[]" type="text" /> 

Тогда вы можете сделать

foreach($_POST['something4'] as $something4) { 
} 
+0

Так просто, так красиво! Большое спасибо! – Nilsson1188

+0

Не возражаете, если я задам вам еще один вопрос по этой теме с петлями foreach? – Nilsson1188

+0

Конечно. Хотя может быть лучше просто задать новый вопрос. –