0

正常に機能するチェックボックスをオンにすることで、エンジニアをジョブに追加できるフォームがあります。ただし、別のフォームのチェックボックスをオフにして、エンジニアを削除してほしい。

テーブル(多対多のテーブル)には、id_ce(主キー)、call_ce(外部キー)、engineer_ce(外部キー)の3つの列があります。チェックボックスが空であるかどうか、およびテーブルにcall_ceとengineer_ceのエントリがあるかどうかを確認し、存在する場合は削除するかどうかをフォームで確認したいのですが、惨めに失敗しています。

これは私がこれまでに持っているものです...

foreach($_POST['engineer'] as $engineer_id){
    if(!isset($_POST['engineer'])){
        $sql = "SELECT * FROM calls_engineers WHERE call_ce = '$diary_id' AND engineer_ce = '$engineer_id'";
        $result = mysql_query($sql)or die(mysql_error());
        if(mysql_num_rows($result) > 0){
            $sql = "DELETE FROM calls_engineers WHERE engineer_ce = '$engineer_id'";
            $result = mysql_query($sql)or die(mysql_error());
        }   
    }
}

チェックされていないチェックボックスが投稿されないため、foreachループを通過しないなどの問題が考えられますが、別の方法がわかりません。

どんな助けでも大歓迎です

4

2 に答える 2

4

エンジニアIDを使用して非表示フィールドをページに配置できます。言う、それは呼ばれますengineer_on_page

今、あなたはすることができます

foreach($_POST['engineer_on_page'] as $engineer_id) {
     if(!in_array($engineer_id, $_POST['engineer'])){
          //do delete here
     }
}

チェックボックスは次のようになっていると思います。

<input type="checkbox" name="engineer[]" value="[engineer_id]"/>

と隠しフィールド

<input type="hidden" name="engineer_on_page[]" value="[engineer_id]"/>

また、次のようにチェックボックスフィールドを指定することもできます。

<input type="checkbox" name="engineer[[engineer_id]]" value="[engineer_id]"/>

実際のIDはどこ[engineer_id]ですか(1、2、3など)

2番目のケースでは、

     if(!isset($_POST['engineer'][$engineer_id])){
          //do delete here
     }
于 2012-09-14T21:55:04.107 に答える
0

/ *ROHITBHAYALによる*/

$ checkbox1 = $ _ POST ['stu2']; $ chk = "";

/* print_r($_POST['stu3']); */
$order1=$_POST['stu3'];

  if(isset($_POST['subject']))
  {

$string = implode(',', $checkbox1);

 echo $del="delete from student_subject where sub_id not in ($string)";
 mysql_query($del);

  }
  //   mysql_query($del);

 foreach ($checkbox1 as $key => $chk1)
 {  
  $chk .= $chk1.",";  

 $check="SELECT * FROM student_subject WHERE sub_id = '".$chk1."' AND form_id='".$_GET['sub']."'";
 $rs = mysql_query($check);
 $data = mysql_fetch_array($rs);
 mysql_num_rows($rs);
 if($data[0] > 1)
  {
 echo "Subject is Already Exists<br/>";

  }

else
  {

  if(isset($_POST['subject']))
  {
     $a= "sub_id='".$chk1."'";



     echo $ins = "insert into student_subject set form_id='".$_POST['stu1']."',
                                    ".$a.",
                     order_no='".$chk1."'";


  }
if (mysql_query($ins))
{
    echo "Now New subject Is Added<br/>";
}
else
{
    echo "Error adding user in database<br/>";
}

}}

?>

于 2016-06-18T06:57:11.673 に答える