Ajuda com desenvolvimento web

31/10/2015

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..

PHP

Maycon Felippe

Respostas

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 Citar

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 Citar

01/11/2015

Marcio Araujo

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

05/11/2015

Alekym

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 Citar

05/11/2015

Marcio Araujo

Sem o Ajax é possivel Alekym?
Responder Citar

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 Citar

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 Citar

06/11/2015

Alekym

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.

Função addslashes


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

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 Citar

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 Citar

06/11/2015

Alekym

 
// 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 Citar

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 Citar

06/11/2015

Marcio Araujo

Obrigado Alekym?
Responder Citar

06/11/2015

Alekym

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

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 Citar