Ainda não fazes parte da comunidade WebTuga!? Clica aqui e Regista-te já!

EntrarUtilizadorSenha
Ligar-me automaticamente em cada visita    
Pesquisar
Pesquisar
Membros
Membros
Registar
Registar
Ligar e ver Mensagens Privadas
Ligar e ver Mensagens Privadas

Fórum WebTuga

Ganhe Prémios Fantásticos - Passatempos.com.pt
Índice do Fórum WebTuga » Programação

Novo Tópico   Responder a Mensagem   

[PHP]continuar com os valores nas caixas dps de MM_JumpMenu
Ver mensagem anterior :: Ver mensagem seguinte  
Autor Mensagem
Kugas
member
member


Idade: 23
Registrado em: 17 Dez 2007

Especificação:

Mensagens: 44

MensagemColocada: Seg Jul 21, 2008 1:51 pm    Assunto: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu Responder com Citação

Boas ppl mais uma vez peço uma pekena ajuda num pekeno problema, vou ja postar o codigo e passo a explicar dps:

Código:
<?PHP
$p="'parent'";
echo '<select name="seguemento"  onChange="MM_jumpMenu('.$p.',this,0)">';
           echo '<option value="">&nbsp;&nbsp;&nbsp;&nbsp;--Segmento--</option>';
   $selcd="SELECT id,nome from tbl_Seguemento WHERE estado=0 order by nome asc";
   $stmtcd= mysql_query($selcd, $conDb);
   while($rowcd=mysql_fetch_array($stmtcd))
     {
echo '<option value="menuprodutos.php?segue='.$rowcd['id'].'&fam='.$_GET['Familia'].'&pro='.$_GET['prod'].'&qta='.$_SESSION['qta'].'&qtafec='.$_SESSION['qtafec'].'&pvp='.$_SESSION['pvp'].'&totvendas='.$_SESSION['totvendas'].'&totv='.$_SESSION['totv'].'&totvo='.$_SESSION['totvo'].'&esp='.$_SESSION['esp'].'"';
echo $_GET['segue']==$rowcd['id']?' selected':'';
echo '>'.$rowcd['nome'].'</option>';
    }    
echo '</select>';
?></td>
          <td><?PHP
echo '<select name="Familia" onChange="MM_jumpMenu('.$p.',this,0)">';
echo '<option value="">--Familia--</option>';
   $selc="SELECT  id, nome
FROM tbl_Familia
WHERE idseguemento='".$_GET['segue']."'
AND estado=0
ORDER BY nome";
   $stmtc= mysql_query($selc, $conDb);
   while($rowc=mysql_fetch_array($stmtc))
     {
echo '<option value="menuprodutos.php?segue='.$_GET['segue'].'&fam='.$rowc['id'].'&pro='.$_GET['prod'].'&qta='.$_SESSION['qta'].'&qtafec='.$_SESSION['qtafec'].'&pvp='.$_SESSION['pvp'].'&totvendas='.$_SESSION['totvendas'].'&totv='.$_SESSION['totv'].'&totvo='.$_SESSION['totvo'].'&esp='.$_SESSION['esp'].'"';
echo $_GET['fam']==$rowc['id']?' selected':'';
echo '>'.$rowc['nome'].'</option>';
    }    
echo '</select>';
?></td>
          <td><?PHP
echo '<select name="prod" onChange="MM_jumpMenu('.$p.',this,0)">';
echo '<option value="">--Produto--</option>';
   $selcd1="SELECT  id, codigo,descricao
FROM tbl_Equipamento
WHERE idfamilia='".$_GET['fam']."'
AND estado=0
ORDER BY codigo";
   $stmtcd1= mysql_query($selcd1, $conDb);
      while($rowcd1=mysql_fetch_array($stmtcd1))
     {
echo '<option value="menuprodutos.php?segue='.$_GET['segue'].'&fam='.$_GET['fam'].'&pro='.$rowcd1['id'].'&qta='.$_SESSION['qta'].'&qtafec='.$_SESSION['qtafec'].'&pvp='.$_SESSION['pvp'].'&totvendas='.$_SESSION['totvendas'].'&totv='.$_SESSION['totv'].'&totvo='.$_SESSION['totvo'].'&esp='.$_SESSION['esp'].'"';
echo $_GET['pro']==$rowcd1['id']?' selected':'';
echo '>'.$rowcd1['codigo'].'</option>';
    }    
echo '</select>';
?></td>
<td><input name="qta" type="text" size="4" value="<?=$_SESSION['qta']?>"><?php $_SESSION['qta']=$_GET['qta']?></td>
<td><input name="qtafec" type="text" size="4" value="<?=$_SESSION['qtafec']?>"><?php $_SESSION['qtafec']=$_GET['qtafec']?></td>
<td><input name="pvp" type="text" size="4" value="<?=$_SESSION['pvp']?>"><?php $_SESSION['pvp']=$_GET['pvp']?></td>
<td><input name="totvendas" type="text" size="6" value="<?=$_SESSION['totvendas']?>"><?php $_SESSION['totvendas']=$_GET['totvendas']?></td>
<td><input name="totv" type="checkbox" <?php $_SESSION['totv']==1?'selected':''?> value="<?=$_SESSION['totv']=1?>"><?php $_SESSION['totv']=$_GET['totv']?></td>
<td><input name="totvo" type="checkbox" <?php $_SESSION['totvo']==1?'selected':''?> value="<?=$_SESSION['totvo']=1?>"><?php $_SESSION['totvo']=$_GET['totvo']?></td>
<td><?PHP
echo '<select name="esp">';
echo '<option value="">--Espa&ccedil;o--</option>';
   $se="SELECT  id, detalhe
FROM tbl_Espaco
ORDER BY detalhe";
   $stm= mysql_query($se, $conDb);
      while($ro=mysql_fetch_array($stm))
     {
echo '<option value='.$ro['id'].'';
echo $_GET['esp']==$ro['id']?' selected':'';
echo '>'.$ro['detalhe'].'</option>';
    }    
echo '</select>';
?>


é o seguinte como se vê tenho um MMjumpMenu, á medida que seleciono o seguemento automaticamente aparece a familia para escolha e dps de escolher a familia aparece o produto para escolha... ate aki tudo bem mas o que eu keria era guardar os valores das caixas name="qta",name="qtafec",name="pvp" e etc, assim k a sessao MMjumpMenu se executa, isto é no caso se eles preencherem 1º as caixas e selecionar dps o produto prk dps disto ele perde os dados ou valores (como kiserem xamar) atribuidas ás caixas de texto....

nao sei se me fiz entender...mas agradeço ajuda!

serei eternamente grato!
Cumprimentos
Voltar ao topo
fireblood
member
member


Idade: 21
Registrado em: 07 Ago 2008

Especificação:

Mensagens: 3

MensagemColocada: Qui Ago 07, 2008 10:47 pm    Assunto: Responder com Citação

Se percebi bem.. queres guardar as opçoes que o user escreve na caixa de texto ?

A maneira que me parece mais correcta é usares ajax nas MMJumpBox's para fazer os requests das familias... ou então submeteres o form cada vez que escolhes uma familia.. mas e' possivel que te complique mais a vida desta maneira.
Voltar ao topo
Kugas
member
member


Idade: 23
Registrado em: 17 Dez 2007

Especificação:

Mensagens: 44

MensagemColocada: Sáb Ago 09, 2008 6:25 pm    Assunto: Responder com Citação

pois... mas eu nao percebo nadade ajax... Sad se houvesse outra maneira em php ou html... ate mesmo em javascript (na kual ainda nao percebo muito)... era muito bom! agradecia as ajudas Smile

Abraços...
Voltar ao topo
Kugas
member
member


Idade: 23
Registrado em: 17 Dez 2007

Especificação:

Mensagens: 44

MensagemColocada: Qui Ago 28, 2008 8:33 am    Assunto: Responder com Citação

Alguem me pode arranjar soluçao sem ser em AJAX... please Sad
Voltar ao topo
geoblast
member
member


Idade: 36
Registrado em: 27 Ago 2008

Especificação:

Mensagens: 4

MensagemColocada: Qui Ago 28, 2008 8:06 pm    Assunto: Responder com Citação

Kugas escreveu:
Alguem me pode arranjar soluçao sem ser em AJAX... please Sad


Olá.

A melhor forma de fazeres isso é na verdade com Ajax. Esta é uma forma simples de o fazeres

Estas são as funções de Javascript que accionam, a primeira, o pedido do Ajax ao servidor e, a segunda, recebo a resposta XML e cria a drop com os dados recebidos.

Código:


/******************************************************
 * Funcoes AJAX para carregar os concelhos
 *****************************************************/

function DadosConc(myDistrito,path) {
     //verifica se o browser tem suporte a ajax
     try {
         ajax = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e) {
         try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
         }
        catch(ex) {
            try {
               ajax = new XMLHttpRequest();
            }
           catch(exc) {
               alert("O browser não tem recursos para uso do Ajax");
               ajax = null;
            }
         }
      }
     //se tiver suporte ajax
     if(ajax) {
        //deixa apenas o elemento 1 no drop, os outros são excluídos
            // o «form_concelho» é o name da drop
       document.forms[0].form_concelho.options.length = 1;

       idOpcao  = document.getElementById("opcoes"); //opcoes é o id da drop
             //aqui inseres o path do ficheiro de PHP que vai processar o pedido.
        ajax.open("POST", path+"/modules/ajax/ajx_concelhos.php", true);
       ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

       ajax.onreadystatechange = function() {

            //enquanto estiver processando...emite a msg de carregando
         if(ajax.readyState == 1) {
            idOpcao.innerHTML = "Carregando...!";   
           }

         //após ser processado - chama função processXML que vai varrer os dados
            if(ajax.readyState == 4 ) {
            if(ajax.responseXML) {
               processXMLConc(ajax.responseXML);
            }
            else {
                //caso não seja um arquivo XML emite a mensagem abaixo
               idOpcao.innerHTML = "XML n\u00E3o carregado";
            }
            }
         }

       //passa os parâmetro para o php
      var params = "distrito="+myDistrito;    
        ajax.send(params);

      }
   }

   function processXMLConc(obj){
      //pega a tag concelho
      var dataArray   = obj.getElementsByTagName("concelho");
     //total de elementos contidos na tag cidade
     if(dataArray.length > 0) {

       //percorre o arquivo XML paara extrair os dados
         for(var i = 0 ; i < dataArray.length ; i++) {
            var item = dataArray[i];
         //contéudo dos campos no arquivo XML
         var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
         var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
           idOpcao.innerHTML = "Seleccione um concelho";

         //cria um novo option dinamicamente 
         var novo = document.createElement("option");
             //atribui um ID a esse elemento
             novo.setAttribute("id", "opcoes");
            //atribui um valor
             novo.value = codigo;
            //atribui um texto
             novo.text  = descricao;
            //finalmente adiciona o novo elemento
            document.forms[0].form_concelho.options.add(novo);
       }
     }
     else {
       //caso o XML volte vazio, printa a mensagem abaixo
      idOpcao.innerHTML = "Voltou vazio";
     }    
   }


O ficheiro de php que chamas, é um ficheiro simples que recebe os parametros, executa um query e cria um xml que vai ser processado pela segunda função de javascript.

no onchange do select, passas como primeiro parâmetro o this.value e segundo parâmetro o url do servidor.

Se quiseres posso-te depois passar para o mail os scripts (aqui não os consigo por, ainda não percebi porque). Podes passar o mail por PM.

Esta é a forma de o fazer com ajax.

Poderás tentar, caso não queiras usar o ajax,colocar o method do form como POST, e chamares o $_SERVER['PHP_SELF'] cada vez que carregas os drops.
Voltar ao topo
Kugas
member
member


Idade: 23
Registrado em: 17 Dez 2007

Especificação:

Mensagens: 44

MensagemColocada: Qua Set 03, 2008 9:29 am    Assunto: Responder com Citação

desculpa a minha burrice... mas onde utilizo o $_SERVER['PHP_SELF']??? Sad
Voltar ao topo
geoblast
member
member


Idade: 36
Registrado em: 27 Ago 2008

Especificação:

Mensagens: 4

MensagemColocada: Qua Set 03, 2008 7:12 pm    Assunto: Responder com Citação

Kugas escreveu:
... mas onde utilizo o $_SERVER['PHP_SELF']??? Sad


Olá,

Tens aqui um exemplo de como usar o php_self e a forma de o protegeres de ataques.
Voltar ao topo
Kugas
member
member


Idade: 23
Registrado em: 17 Dez 2007

Especificação:

Mensagens: 44

MensagemColocada: Seg Set 08, 2008 9:58 am    Assunto: Responder com Citação

hummm nao me esta a funcar Sad

sera k fiz alguma coisa de errado....
Voltar ao topo
Kugas
member
member


Idade: 23
Registrado em: 17 Dez 2007

Especificação:

Mensagens: 44

MensagemColocada: Seg Set 08, 2008 1:44 pm    Assunto: Responder com Citação

aqui esta como eu fiz ou como estava na soluçao....

Código:
(...)<?php
//Get the name of the file (form.php)
$phpself = basename('promopda.php');
//Get everything from start of PHP_SELF to where $phpself begins
//Cut that part out, and place $phpself after it
$_SERVER['PHP_SELF'] = substr($_SERVER['PHP_SELF'], 0, strpos($_SERVER['PHP_SELF'],
$phpself)) . $phpself;
//You've got a clean PHP_SELF again (y)
?>
<form name="form1" method="post" enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>">(...)



alguma coisa de errado???
Voltar ao topo
Mostrar os tópicos anteriores:   
Novo Tópico   Responder a Mensagem    Índice do Fórum WebTuga » Programação Todos os tempos são GMT
Página 1 de 1

 
Ir para:  
Neste fórum, você Não pode colocar mensagens novas
Não pode responder a mensagens
Não pode editar as suas mensagens
Não pode remover as suas mensagens
Você Não pode votar neste fórum

Artigos relacionados
 Tópicos   Respostas   Autor   Vistos   Última Mensagem 
Não há mensagens novas [Pedido] Avatar e Assig. mudar o nome 4 Biqu3 709 Qua Nov 15, 2006 12:58 pm
.arktikBOY Ver a última mensagem
Este tópico está Bloqueado. Não pode editar mensagens ou responder [2D] [|][wip] "projecto mala" (ainda sem nome) 12 Caneco 1616 Dom Nov 12, 2006 8:09 pm
RaPtOr Ver a última mensagem
Não há mensagens novas Rooney recupera site com o seu nome 2 radikal-rider 783 Sáb Out 14, 2006 12:58 pm
radikal-rider Ver a última mensagem
Não há mensagens novas Qual será o nome do sucessor do Leopard? 15 cenourinha 2071 Sáb Set 09, 2006 5:04 pm
lycosman Ver a última mensagem
Não há mensagens novas Nome Fácil 3 r1c4rd0100 732 Qui Set 07, 2006 1:19 am
tiaguh Ver a última mensagem



who's online
WebTuga Footer
WebTuga Footer Powered by phpBB © 2001, 2002 phpBB Group
iCGstation v1.0 Template By Ray © 2003, 2004 iOptional

WebTuga Footer