Menu

 
Reply to this topicStart new topic
> [PHP]continuar com os valores nas caixas dps de MM_JumpMenu
V
Kugas
post Jul 21 2008, 01:51 PM
Post #1




Grupo: Membro
Posts: 48
Registado: 17-December 07
Membro nº: 18,577



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

<?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
Go to the top of the page
 
+Quote Post
fireblood
post Aug 7 2008, 10:47 PM
Post #2




Grupo: Membro
Posts: 3
Registado: 7-August 08
Membro nº: 27,713



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.
Go to the top of the page
 
+Quote Post
Kugas
post Aug 9 2008, 06:25 PM
Post #3




Grupo: Membro
Posts: 48
Registado: 17-December 07
Membro nº: 18,577



pois... mas eu nao percebo nadade ajax... sad.gif 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.gif

Abraços...
Go to the top of the page
 
+Quote Post
Kugas
post Aug 28 2008, 08:33 AM
Post #4




Grupo: Membro
Posts: 48
Registado: 17-December 07
Membro nº: 18,577



Alguem me pode arranjar soluçao sem ser em AJAX... please sad.gif
Go to the top of the page
 
+Quote Post
geoblast
post Aug 28 2008, 08:06 PM
Post #5




Grupo: Membro
Posts: 4
Registado: 27-August 08
Membro nº: 28,040



(Kugas)
Alguem me pode arranjar soluçao sem ser em AJAX... please sad.gif


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.





/******************************************************

* 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 pq). 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.


--------------------
Abraços!

Geoblast
Go to the top of the page
 
+Quote Post
Kugas
post Sep 3 2008, 09:29 AM
Post #6




Grupo: Membro
Posts: 48
Registado: 17-December 07
Membro nº: 18,577



desculpa a minha burrice... mas onde utilizo o $_SERVER['PHP_SELF']??? sad.gif
Go to the top of the page
 
+Quote Post
geoblast
post Sep 3 2008, 07:12 PM
Post #7




Grupo: Membro
Posts: 4
Registado: 27-August 08
Membro nº: 28,040



(Kugas)
... mas onde utilizo o $_SERVER['PHP_SELF']??? sad.gif


Olá,

Tens aqui um exemplo de como usar o php_self e a forma de o protegeres de ataques.


--------------------
Abraços!

Geoblast
Go to the top of the page
 
+Quote Post
Kugas
post Sep 8 2008, 09:58 AM
Post #8




Grupo: Membro
Posts: 48
Registado: 17-December 07
Membro nº: 18,577



hummm nao me esta a funcar sad.gif

sera k fiz alguma coisa de errado....
Go to the top of the page
 
+Quote Post
Kugas
post Sep 8 2008, 01:44 PM
Post #9




Grupo: Membro
Posts: 48
Registado: 17-December 07
Membro nº: 18,577



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

(...)<?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???
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 

Publicidade
who's online
Versão Simples
Skin by IPB Customize
Horário: 5th December 2008 - 04:40 PM