-2

これはデータベースからのページ表示テーブルで、すべての行にはテキストボックスがあり、テーブルを更新するための b_id があります。

$result2 = mysqli_query($con,"SELECT * FROM zahialga WHERE bid IN ($imp)");
    while($row = mysqli_fetch_array($result2))
      {
      echo "<tr>";
      echo "<td>" . $row['b_id'] . "</td>";
      echo "<td>" . $row['materials'] . "</td>";
      echo "<td>" . $row['num'] . "</td>";
      echo "<td> <input type='text' name='sh_num[]' maxlength='10'></td>";
      echo "</tr>";
      echo "<input type='hidden' name='b_id[]' value='" . $row['bid'] . "'>";
      }
      echo "</table>";
    echo "<input type='submit' value='Илгээх'/>";

更新ページです。

$con=mysqli_connect("localhost","root","","login");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$sh_id_query = mysqli_query($con,"SELECT sh_id FROM zahialga order by bid desc limit 1");
$sh_id1 = $sh_id_query->fetch_object()->sh_id;
$sh_id2 = $sh_id1 + 1;
$count = count(array_filter($_POST["sh_num"]));
for($i=0;$i<$count;$i++)
{
$insert = mysqli_query($con,"UPDATE table SET 
                    sh_id='{$sh_id2}', 
                    sh_num='{$_POST['sh_num'][$i]}'
WHERE bid = '{$_POST['$b_id'][$i]}'");
}

これは getiingNotice: Undefined index: $b_idエラーです。何を見逃したの?ところで、私の悪い英語について申し訳ありません。

4

2 に答える 2

1
$insert = mysqli_query($con,"UPDATE table SET 
                    sh_id='{$sh_id2}', 
                    sh_num='{$_POST['sh_num'][$i]}'
WHERE bid = '{$_POST['$b_id'][$i]}'");
//                    ^ additional $ sign here

する必要があります

$insert = mysqli_query($con,"UPDATE table SET 
                    sh_id='{$sh_id2}', 
                    sh_num='{$_POST['sh_num'][$i]}'
WHERE bid = '{$_POST['b_id'][$i]}'");
于 2013-08-07T03:33:21.187 に答える
1

$ 記号があってはなりません:

$_POST['b_id'][$i]
于 2013-08-07T03:33:44.750 に答える