Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gabriellima28

Insert com Ajax, PHP e jquery

Recommended Posts

Olá pessoal,

Estou tendo um problema para inserir dados via ajax, já olhei o código e não consegui encontrar erros porém mesmo assim os dados não estão sendo salvos no meu banco de dados, e njá não sei mais onde procurar erros e nem o que pode estar acontecendo se puderem me auxiliar ou me dar o caminho de como e o que fazer eu agradeço. Segue os meus códigos abaixo

 

 

Ajax:

function AddCadEmpId(){
var idCad = $("#txbIdCad").val();
var idEmp = $("#txbId").val();
    $.ajax({
url : 'funcoes/AddCadEmp.php?acaoEmpCad=AddIdCad', 
type:'POST',
data: {Cad:idCad, Emp:idEmp},
success : function(retorno){
alert(retorno+" "+idCad+" "+idEmp);
}
});
}
 

PHP:

 

 

<?
error_reporting(0);
include_once("includes/conexao.php");
 
$acaoEmpCad = $_GET['acaoEmpCad'];
 
if($acaoEmpCad == "AddIdCad"){
$idCad = $_POST['Cad'];
$idEmp = $_POST['Emp'];
 
$sqlAddCad = mysql_query("INSERT INTO sgb_num_cademp(ID_CADEADOS, ID_EMPCAD)VALUES('$idCad' ,'$idEmp')"); 
sleep(2);
 
 
if(mysql_affected_rows($sqlAddCad) <= 0){
echo "0"; 
}else{
echo "1"; 
}
}
 
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu coloquei para imprimir o valor "0" caso o meu insert seja vazio ou não tenha ocorrido está imprimindo o valor "0", ou seja, não está ocorrento a gravação dos dados no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Executa assim:

 

$sqlAddCad = mysql_query("INSERT INTO sgb_num_cademp(ID_CADEADOS, ID_EMPCAD)VALUES('$idCad' ,'$idEmp')")or die (mysql_error());
e veja o que aparece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o erro esteja no INSERT como citado acima.

Fiz um teste, veja - https://imasters-angelorubin-1.c9.io/js/insert-com-ajax-php-jquery/index.php

E retorna normal, omiti a parte do INSERT só para testar o que vem de retorno mesmo.

 

Utilizei uma estrutura de teste assim:

index.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
        <script type="text/javascript">
        $(function(){
            function AddCadEmpId(){
                var idCad = $("#txbIdCad").val();
                var idEmp = $("#txbId").val();
                $.ajax({
                    url : 'insert.php', 
                    type:'POST',
                    data: { Cad:idCad, Emp:idEmp },
                    success : function(retorno){
                        $('#resposta').append(retorno);
                    }
                });
            }
            $('#submit').on('click', function(e){
                e.preventDefault();
                $('#resposta').empty();
                AddCadEmpId();
            });
        });
        </script>
    </head>
    <body>
        <p id="resposta"></p>
        <form action="#" method="post">
            <input type="text" name="txbIdCad" id="txbIdCad"/>
            <input type="text" name="txbId" id="txbId"/>
            <input type="submit" value="Submit" id="submit"/>
        </form>
    </body>
</html>

insert.php

<?php
    error_reporting(0);
    // include_once("includes/conexao.php");
 
    // $acaoEmpCad = $_GET['acaoEmpCad'];
 
    // if($acaoEmpCad == "AddIdCad") {
        $idCad = $_POST['Cad'];
        $idEmp = $_POST['Emp'];
        echo $idCad." - ".$idEmp;
        /*
        $sqlAddCad = mysql_query("INSERT INTO sgb_num_cademp(ID_CADEADOS, ID_EMPCAD)VALUES('$idCad' ,'$idEmp')"); 
        sleep(2);
        if(mysql_affected_rows($sqlAddCad) <= 0) {
            echo "0"; 
        }
        else {
            echo "1"; 
        }
        */
    // }

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal desculpa a demora em responder, o erro que está aparecendo é o seguinte: "Cannot add or update a child row: a foreign key constraint fails (`data_sgb`.`sgb_num_cademp`, CONSTRAINT `fk_SGB_CADEADOS_has_SGB_EMPRESTIMO_CADEADO_SGB_CADEADOS1` FOREIGN KEY (`ID_CADEADOS`) REFERENCES `sgb_cadeados` (`ID_CADEADOS`) ON DELETE NO ACTION ON )",

ou seja, eu acho que é problema no relacionamento do banco de dados, vou explicar melhor como é minha regra de negócio de bando de dados: "Eu tenho uma tabela que registro os cadeados(ID, TIPO,NUMERO.....), Tenho uma outra tabela onde faço os registros de empréstimo de cadeados(DADOS PESSOAIS e INCLUO OS CADEADOS PARA ESTE EMPREGADO), logo o meu relacionemto entre essas tabelas é de muitos pra muitos, ou seja, Um emprestimo de cadeados possui no minimo um ou muitos cadeados e um cadeado pode estar relacionado á nenhum ou á muitos emprestimos(Caso o cadeado esteja disponivel)." Em Java eu sei como faz para criar uma tabela extra e registrar os ID's dos cadeados relacionados com o emprestimo criando um array e ir adicionando os cadeados e depois com o Hibernate salvar todos reacionando-os com o id do emprestimo usando um loop do tipo for mas, em PHP não sei como fazer.

 

Desde Já agradeço a atenç~~ao de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso, é melhor vc abrir essa dúvida em específico no fórum de php.

 

Também não sei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.