Ajuda com desenvolvimento web

31/10/2015

0

PHP

Boa tarde..
bom vamos lá estou desenvolvendo um sistema para meu tcc na faculdade..
Programo em delphi.. mas a faculdade não aceitou o meu projeto em delphi.. então..
Bom gostaria de uma luz para saber quais ferramentas usar para que o meu arquivo php no momento que for clicado nos botões da tela
o arquivo não seja atualizado e assim não suma as minhas outras consultas feitas na pagina..
Poderiam me indicar quais ferramentas poderia fazer isso e de uma forma simples.. pois estou correndo contra o tempo..
Agradeço desde já..
Obrigado a todos..
Maycon Felippe

Maycon Felippe

Responder

Posts

31/10/2015

Marcio Araujo

Bom gostaria de uma luz para saber quais ferramentas usar para que o meu arquivo php no momento que for clicado nos botões da tela


Boa tarde, poderia explicar essa parte do que escreveu?
Responder

31/10/2015

Maycon Felippe

Marcio..
Tenho uma pagina .php de pedidos
eu faço a consulta dos produtos que faltam mas no momento que eu adiciono esse produto ao pedido
a pagina ela atualiza e assim some o que eu tinha na pagina..
queria saber como fazer pra isso não acontecer ..

tipo .. eu clicar em adicionar e minha consulta continuar lá sem limpar a pagina..
a pagina faz um reload e volta zerada.. some tudo
deu pra entender.?
Responder

01/11/2015

Marcio Araujo

Já olhou no código para aonde está sendo "levado" a pagina depois que efetua a operação?
Responder

05/11/2015

Alex William

Tente usar AJAX nos botões, ele carrega dentro da DIV especifica e não recarrega a pagina toda a menos que você programe para fazer isso.

Pode usar, também, funções javascript para adicionar componentes via innerHTML.

Eu utilizo da seguinte forma:

Acrescento o plugin AJAX na pagina:
<script type="text/javascript" src="js/ajax.js"></script>


Depois disso, só chamar a pagina em PHP, no onClick do botão da seguinte forma:

ajax($pagina_ajax,$div_carregar);


No caso ficaria assim(o caminho tem que ser especificado caso a pagina não esteja na raiz):

ajax('modulos/consulta/excluir.php?id=<?= $dados_solicitacao['id'] ?>', 'exclui<?= $dados_solicitacao['id'] ?>')


A pagina é programada em PHP e só me retorna o que eu preciso(mudar um status, popular um campo, etc.).

Nesse caso acima, ele manda o id do produto que eu quero excluir, e carrega o retorno dentro da div com id='exclui+id_do_produto'.

Espero ter ajudado.
Responder

05/11/2015

Marcio Araujo

Sem o Ajax é possivel Alekym?
Responder

06/11/2015

Maycon Felippe

Bom dia..
Alekym obrigado pela ajuda..
Nessa parte de js ou ajax
não sei nem o b,a,ba.. rs
Bom seria somente esse código para realizar essa função?
ou você resumiu para que eu possa entender?
Responder

06/11/2015

Maycon Felippe

Opa consegui fazer..
Mas agora estou com outra dificuldade.. rs

Eu realizo uma query de consulta para ver os produtos em baixa..
Quando exibo faço isso com uma table html
com isso coloquei esse button para adicionar o produto..
Só que no momento que clico no primeiro button da table html
Ele executa mas os outros button não realizam a função.. ='(
Responder

06/11/2015

Alex William

Sem o Ajax é possivel Alekym?


Olha acho que sim, mas possivelmente seria mais complicado. Mas Desconheço outra forma, já que geralmente uso AJAX para isso.

Só que no momento que clico no primeiro button da table html
Ele executa mas os outros button não realizam a função.. ='(


Tenta ver se na pesquisa não vem nos nomes ou em alguma string que possua aspas simples ou duplas. o código pode estar interpretando que essa aspa fecha a string e dá erro.

Caso seja isso, coloque o comando addslashes() pra que ele entenda que aspas são parte da string e não o fim dela.

[url:descricao=Função addslashes]http://php.net/manual/pt_BR/function.addslashes.php[/url]


Se não for isso, poderia por gentileza postar o código para que eu possa ver como você fez?
Responder

06/11/2015

Maycon Felippe

Então amigo.. agora estou com uma outra dificuldade ..
vou por o codigo pra ver se consigo explicar melho..



 
// Essa é minha class
 while ($linha = pg_fetch_array($query))
           //     foreach ($linha[cod_prod] as $resul ) {

                    echo '<tr class="consulta1">
                                 <input type="text" name="tCod_prod2" value="' .$linha[cod_prod] . '" readonly >
                             <td><p class="codProduto"> ' . $linha[cod_prod] . '</p></td>
                             <td><p class="nomeProduto">' . $linha[nome_prod] . '</p></td>
                             <td><p class="precoProduto">' . $linha[preco_prod] . '</p></td>
                             <td><p class="Marca">' . $linha[marca_prod] . '</p></td>
                             <td><p class="quantProduto">' . $linha[quant_prod] . '</p></td>
                             <td><p class="descProd">' . $linha[descricao_prod] . '</p></td>
                             <td><p class="descTipo">' . $linha[descricao_tipo] . '</p></td>
                             <td><button class="Adicionar" type="button" id="butAdd" onclick="return(this.form)" >Adicionar</button></td>
                      </tr>';
                }
            echo '</table>';

// e aqui o js


$(document).ready(function() {
     $("#butAdd").click(function() {

         var tCod_prod2  = $("input[name=tCod_prod2]").val();
 
        //usar o metodo ajax da biblioteca jquery para postar os dados em processar.php
        $.ajax({
            "url": "processar.php",
            "dataType": "html",
            "data": {
                tCod_prod2 : tCod_prod2
             },
            "success": function(response) {

                //em caso de sucesso, a div ID=saida recebe o response do post
                $("div#saida").html(response);
            }

        });
    });
})




// Aqui onde executo o php mas esta só para que eu possa ver se esta passando os codigos certos
$tCod_prod2  = $_REQUEST['tCod_prod2'];

echo "Seu id é <strong>$tCod_prod2</strong>";

 
Responder

06/11/2015

Maycon Felippe

Esqueci de falar..

o botão só funciona 1 vez e somente lá no primeiro button
os outros não respondem..

porque acontece isso de funcionar só o primeiro e somente uma vez..?
Responder

06/11/2015

Alex William


 
// Essa é minha class
 while ($linha = pg_fetch_array($query))
           //     foreach ($linha[cod_prod] as $resul ) {

                    echo '<tr class="consulta1">
                                 <input type="text" name="tCod_prod2" value="' .$linha[cod_prod] . '" readonly >
                             <td><p class="codProduto"> ' . $linha[cod_prod] . '</p></td>
                             <td><p class="nomeProduto">' . $linha[nome_prod] . '</p></td>
                             <td><p class="precoProduto">' . $linha[preco_prod] . '</p></td>
                             <td><p class="Marca">' . $linha[marca_prod] . '</p></td>
                             <td><p class="quantProduto">' . $linha[quant_prod] . '</p></td>
                             <td><p class="descProd">' . $linha[descricao_prod] . '</p></td>
                             <td><p class="descTipo">' . $linha[descricao_tipo] . '</p></td>
                             <td><button class="Adicionar" type="button" id="butAdd" onclick="return(this.form)" >Adicionar</button></td>
                      </tr>';
                }
            echo '</table>';

 


Tenta assim:

 
// Essa é minha class
 while ($linha = pg_fetch_array($query))
           //     foreach ($linha[cod_prod] as $resul ) {

                    echo '<tr class="consulta1">
                                 <input type="text" name="tCod_prod2" value="' .$linha[cod_prod] . '" readonly >
                             <td><p class="codProduto"> ' . $linha[cod_prod] . '</p></td>
                             <td><p class="nomeProduto">' . addslashes($linha[nome_prod]) . '</p></td>
                             <td><p class="precoProduto">' . $linha[preco_prod] . '</p></td>
                             <td><p class="Marca">' . $linha[marca_prod] . '</p></td>
                             <td><p class="quantProduto">' . $linha[quant_prod] . '</p></td>
                             <td><p class="descProd">' . addslashes($linha[descricao_prod]) . '</p></td>
                             <td><p class="descTipo">' . addslashes($linha[descricao_tipo]) . '</p></td>
                             <td><button class="Adicionar" type="button" id="butAdd" onclick="return(this.form)" >Adicionar</button></td>
                      </tr>';
                }
            echo '</table>';

 


Por que como eu te disse, pode ser uma aspas simples que fecha a string da função, ou então um acento também.
Responder

06/11/2015

Maycon Felippe

Nada .. Continuar executando só o primeiro buton, ele exibe o cod no clique do button mas
ele só executa no primeiro os outros que o while cria junto com a tabela não funcionam..
Responder

06/11/2015

Marcio Araujo

Obrigado Alekym?
Responder

06/11/2015

Alex William

Agora notei uma coisa, no seu while ta faltando uma "{" no começo.
Responder

06/11/2015

Maycon Felippe

Na verdade nem estava aberto no while..
Mas o button esta do mesmo jeito.. Só executando o primeiro mesmo..
Será que não seria alguma coisa no js mesmo?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar