0

データベースに値を保存するためにこのコードを使用していますが、複数のチェックボックスを選択すると、1 つの eid 値のみがデータベースに保存され (これは選択したチェックボックスではありません)、rid 値は 0 として保存されます。間違い?これはphpコードです

<?php //insert selected candidate in table                  
                    //echo "checkcandi".$_POST['check_candi']; 
if(isset($_POST['select_candidate']) && logged_in())
{
  $checkcandi_sel = $_POST['check_candi'];
  if(empty($checkcandi_sel)) 
  {
    echo("You didn't select any Candidates.");
  } 
  else
  {
    $N = count($checkcandi_sel);

    echo("You selected $N Candidate(s): ");
    for($i=0; $i < $N; $i++)
    {
      echo($checkcandi_sel[$i] . " ");
      $eid=$checkcandi_sel[$i];
       echo "candi id".$eid;
    }
  }

//$rid=$value[1];
if(logged_in())
    {
    $emplyrid=$_SESSION['uid'];
    echo "emplyrid".$emplyrid;
    }
//$rid=$_GET['rid'];
//var_dump($emplyrid);
$query = "INSERT INTO selected_candidate (
                            eid,rid
                        ) VALUES (
                             '{$eid}','{$emplyrid}'
                        )";
            $result = mysql_query($query, $connection);
            if ($result) {
                $message = "<p style=\"color:green\">The Candidate selected and saved to your my seleted.</p>";
            } else {
                $message = "Sorry job was not applied.";
                $message .= "<br />" . mysql_error();
            }
}


?>

これはチェックボックスのコードです

echo "<td><input id=\"select_candi{$i}\" onclick=\"javascript:func(this.id,{$_SESSION['uid']})\" type=\"checkbox\" name=\"check_candi[]\" value=\"{$data_set['eid']}\"/></td>"; 
4

3 に答える 3

1

挿入クエリの近くに for ループを引っ張って、これを試してください。

$N = count($checkcandi_sel);

if($N > 0) {
  for($i=0; $i < $N; $i++)
  {
    $eid=$checkcandi_sel[$i];
    $query = "INSERT INTO selected_candidate (
                        eid,rid
                    ) VALUES (
                         '{$eid}','{$emplyrid}'
                    )";
    $result = mysql_query($query, $connection);

  }
}
于 2013-01-10T10:50:48.343 に答える
1

foreach内にSQLクエリを入れてください...

if(count($checkcandi_sel) > 0) {
  for($i=0; $i < count($checkcandi_sel); $i++) {
    $eid=$checkcandi_sel[$i];
    $query = "INSERT INTO selected_candidate ( eid,rid) VALUES ('{$eid}','{$emplyrid}' )";
    $result = mysql_query($query, $connection);
  }
}
于 2013-01-10T10:55:21.620 に答える
0

アレイをデータベースに追加できません

"INSERT INTO selected_candidate (
                            eid,rid
                        ) VALUES (
                             '{$eid}','{$emplyrid}'
                        )"

このクエリでは、$eid には常に配列 $checkcandi_sel の最後の値が含まれます。配列 $checkcandi_sel を文字列に変換し、データベースに追加します。

また

SQL クエリをループして、複数のエントリとして追加します。

于 2013-01-10T10:51:45.900 に答える