行の削除後に主キー $idfilm の番号を連続した順序に戻すために、このコードを取得するのを手伝ってもらえますか? auto_increment に設定された主キーのテーブル内のすべてのデータを削除すると、最後に中断した番号から開始されます。
一意のキーなので、これは正常だと思います。もしそうなら、どうすれば $_POST['checkbox'] を同じ一意の行番号に等しくして、「$_POST['checkbox'] = 一意のキー行である mytable を削除できますか?
$id_actor は別のテーブルへの外部キーであることに注意してください。
$row_number = 1;
while ($row = mysql_fetch_array($result)) {
$id_actor= $row["id_actor"];
$idfilm= $row["idfilm"];
$filmTitle= $row["filmTitle"];
$filmRole= $row["filmRole"];
$filmDirector= $row["filmDirector"];
echo"<tr>";
echo '<td><input name="checkbox[]" value="$idfilm'.$row_number.'" type="checkbox"
id="checkbox'.$row_number.'" /></td>';
for ($i=0; $i<5; $i++) {
echo"<td> $row[$i]</td>";
}
echo"</tr>";
$row_number++;
}
echo"</table>";
................................................................... ...................................................
$del_id が $idfilm と一致しないため、何も削除しない削除コードを次に示します。
if(isset($_POST['delete'])) {
if(array_key_exists('checkbox',$_POST)) {
foreach ($_POST['checkbox'] as $del_id) {
echo $del_id;
$sql = "DELETE FROM filmInfo WHERE 'idfilm' = '$del_id' "; //This line needs work
$result = mysql_query($sql) or die(mysql_error());
if(mysql_affected_rows($result)) echo 'Selected data rows Deleted';
}
}
}