Как обновить несколько строк одновременно - PullRequest
0 голосов
/ 15 октября 2018

У меня есть код ниже, я хочу обновить несколько строк одновременно, но не работает.Кто-нибудь может мне помочь?это показать смещение неинициализированной строки, что со мной не так?У меня есть код ниже, я хочу обновить несколько строк одновременно, но не работает.Кто-нибудь может мне помочь?это показ смещения неинициализированной строки, что со мной не так?

$con = mysqli_connect("localhost","root","","test");
$con->set_charset("utf8");

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  };

$sql="SELECT * FROM test";
$result=mysqli_query($con,$sql);
// Count table rows
$count=mysqli_num_rows($result);

// Check if button name "Submit" is active, do this
if(isset($_POST['Submit']))
{

$count=count($_POST["id"]);
for($i=0;$i<$count;$i++){
$id = mysqli_real_escape_string($con, $_POST['id'][$i]);
$name = mysqli_real_escape_string($con, $_POST['name'][$i]);
$lastname = mysqli_real_escape_string($con, $_POST['lastname'][$i]);
$email = mysqli_real_escape_string($con, $_POST['email'][$i]);

$sql1="UPDATE test SET name='$name[$i]', lastname='$lastname[$i]', email='$email[$i]' WHERE id='$id[$i]' ";
$result1=mysqli_query($con,$sql1);
}
}


?>
<table width="500" border="0" cellspacing="1" cellpadding="0">
<form name="form1" method="post" action="">
<tr>
<td>
<table width="500" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center"><strong>Id</strong></td>
<td align="center"><strong>Name</strong></td>
<td align="center"><strong>Lastname</strong></td>
<td align="center"><strong>Email</strong></td>
</tr>
<?php
$ss="SELECT * FROM test";
$rr=mysqli_query($con,$ss);

while($rows=mysqli_fetch_array($rr)){
?>
<tr>
<td align="center">
<input name="id[]" type="hidden" id="id" value="<?php echo $rows['id']; ?>">
</td>
<td align="center">
<input name="name[]" type="text" id="name" value="<?php echo $rows['name']; ?>">
</td>
<td align="center">
<input name="lastname[]" type="text" id="lastname" value="<?php echo $rows['lastname']; ?>">
</td>
<td align="center">
<input name="email[]" type="text" id="email" value="<?php echo $rows['email']; ?>">
</td>
</tr>
<?php
}
?>
<tr>
<td colspan="4" align="center"><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</td>
</tr>
</form>
</table>

Так что я могу сделать?

1 Ответ

0 голосов
/ 18 декабря 2018

Вы назвали свои поля ввода "id []", "name []", "lastname []", "email []", но затем вы пытаетесь получить их из записей с помощью 'id', 'name',' фамилия ',' электронная почта '.

HTML-формы используют атрибут name в элементах ввода для именования переменных записей.Таким образом, вы должны получить доступ к значениям записей, используя «id []», «name []», «lastname []», «email []», если вы не обновите свои входные данные, чтобы иметь другие имена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...