1
Inside a foreach I need to make an Insert in my database only of the records that are not recorded, thus avoiding duplication of records, but I couldn’t imagine a solution to check if a record is recorded in the bank and if I’m ignoring and checking the next one, what I have is this:
// Recebendo o array com os ID´S
$checkboxes = $_POST['check'];
// laço para buscar ID´s e efetuar cadastro
foreach($checkboxes as $IdColaborador) {
$IdTreinamento = $_POST['IdTreinamento'];
// Verificando se Treinamento e Colaborador já existe
mysql_select_db($database_conexao, $conexao);
$query_rsVerifica = "SELECT * FROM treParticipantesTreinamento WHERE IdTreinamento = $IdTreinamento AND IdColaborador = $IdColaborador";
$rsVerifica = mysql_query($query_rsVerifica, $conexao) or die(mysql_error());
$row_rsVerifica = mysql_fetch_assoc($rsVerifica);
$totalRows_rsVerifica = mysql_num_rows($rsVerifica);
// Buscando dados do Colaborador
mysql_select_db($database_conexao, $conexao);
$query_rsRegistro = "SELECT * FROM comColaborador WHERE IdColaborador = $IdColaborador AND ativo = 1";
$rsRegistro = mysql_query($query_rsRegistro, $conexao) or die(mysql_error());
$row_rsRegistro = mysql_fetch_assoc($rsRegistro);
$totalRows_rsRegistro = mysql_num_rows($row_rsRegistro);
// Buscando dados do Treinamento
mysql_select_db($database_conexao, $conexao);
$query_rsTreinamento = "SELECT * FROM treTreinamento WHERE IdTreinamento = $IdTreinamento";
$rsTreinamento = mysql_query($query_rsTreinamento, $conexao) or die(mysql_error());
$row_rsTreinamento = mysql_fetch_assoc($rsTreinamento);
$totalRows_rsTreinamento = mysql_num_rows($row_rsTreinamento);
// Dados do Colaborador
$Nome = $row_rsRegistro['nome'];
// Dados do Treinamento
$Horas = $row_rsTreinamento['CargaHoraria'];
$FezTreinamento = 0;
$Log = $row_rsTreinamento['Log'];
// Inserindo dados no banco de dados se não existir cadastro
mysql_select_db($database_conexao, $conexao);
$sqlTreinamento = "INSERT INTO treParticipantesTreinamento (
IdTreinamento,
IdColaborador,
Nome,
Horas,
FezTreinamento,
Log )
VALUES (
'$IdTreinamento',
'$IdColaborador',
'$Nome',
'$Horas',
'$FezTreinamento',
'$Log')";
$resultado = mysql_query($sqlTreinamento, $conexao) or die ("Erro Inserindo Registro: " . mysql_error());
// 1 = TRUE, 2 = FALSE
$status = $resultado;
} // fim do foreach*/
Two options, use the
REPLACE
in place ofINSERT
or make a query comparing the data that cannot be repeated and if records result give acontinue
in the foreach...– Jader A. Wagner
Hello @Jader, can you give me an example of the Continue command? Thanks.
– adventistapr
something like this after consultation:
if ($num_rows > 0) continue;
– Jader A. Wagner