Как обновить таблицу из нескольких строк, используя этот подход?

Это отображает результат. но когда я обновляю это не работает.

Мои результаты нескольких таблиц (работает).

               <table>
<tr>
<?php
$result = $db->prepare("SELECT * FROM famcomp WHERE app_id='". mysql_real_escape_string($app_id) ."'");
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
$app_id1 = $row['app_id'];
$fullname = $row['fullname'];
$fage = $row['fage'];
$frel = $row['frel'];
$fcivil = $row['fcivil'];
$fedu = $row['fedu'];
$foccup = $row['foccup'];
$finco = $row['finco'];
?>
<td><input type="hidden" name="app_id[]" value="<?php echo $app_id1 ?>" /></td>
<td><input type="text" name="fullname[]" value="<?php echo $fullname ?>" class="input" /></td>
<td><input type="text" name="fage[]" value="<?php echo $fage ?>" class="input" /></td>
<td><input type="text" name="frel[]" value="<?php echo $frel?>" class="input" /></td>
<td><input type="text" name="fcivil[]" value="<?php echo $fcivil?>" class="input" /></td>
<td><input type="text" name="fedu[]" value="<?php echo $fedu ?>" class="input" /></td>
<td><input type="text" name="foccup[]" value="<?php echo $foccup ?>" class="input" /></td>
<td><input type="text" name="finco[]" value="<?php echo $row['finco']; ?>" class="input" /></td>
</tr>
<?php
}
?>
<br></table>

Вот мой подход, результат:

Обратите внимание:

  • undefined весь индекс [0] [1]
  • Неопределенный индекс: полное имя [0] и т.д. полное имя [1]
$fullname=$_POST['fullname'];
$N = count($fullname); //to get the total row of fullname
for($i=0; $i < $N; $i++)
mysql_query("UPDATE famcomp SET
fullname = '".$_POST["fullname[$i]"]."', fage = '".$_POST["fage[$i]"]."',
frel = '".$_POST["frel[$i]"]."', fcivil = '".$_POST["fcivil[$i]"]."',
fedu = '".$_POST["fedu[$i]"]."', foccup = '".$_POST["foccup[$i]"]."',
finco = '".$_POST["finco[$i]"]."'
WHERE `app_id` = '".$_POST["app_id[$i]"]."'")
or die(mysql_error());

-1

Решение

В вашем запросе на обновление замените каждый

$_POST["fullname[$i]"], $_POST["fage[$i]"]...

и так далее, с

$_POST["fullname"][$i], $_POST["fage"][$i]...
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]