|
|

|
| WebTuga - Comunidade Nacional Web 2.0 | |
| Ver mensagem anterior :: Ver mensagem seguinte |
| Autor |
Mensagem |
Kugas member

Idade: 23 Registrado em: 17 Dez 2007
Especificação:
Mensagens: 44
|
Colocada: Seg Jul 21, 2008 1:51 pm Assunto: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu |
|
|
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=""> --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ç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

Idade: 21 Registrado em: 07 Ago 2008
Especificação:
Mensagens: 3
|
Colocada: Qui Ago 07, 2008 10:47 pm Assunto: |
|
|
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

Idade: 23 Registrado em: 17 Dez 2007
Especificação:
Mensagens: 44
|
Colocada: Sáb Ago 09, 2008 6:25 pm Assunto: |
|
|
pois... mas eu nao percebo nadade ajax... se houvesse outra maneira em php ou html... ate mesmo em javascript (na kual ainda nao percebo muito)... era muito bom! agradecia as ajudas
Abraços... |
|
| Voltar ao topo |
|
Kugas member

Idade: 23 Registrado em: 17 Dez 2007
Especificação:
Mensagens: 44
|
Colocada: Qui Ago 28, 2008 8:33 am Assunto: |
|
|
Alguem me pode arranjar soluçao sem ser em AJAX... please  |
|
| Voltar ao topo |
|
geoblast member

Idade: 36 Registrado em: 27 Ago 2008
Especificação:
Mensagens: 4
|
Colocada: Qui Ago 28, 2008 8:06 pm Assunto: |
|
|
| Kugas escreveu: | Alguem me pode arranjar soluçao sem ser em AJAX... please  |
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

Idade: 23 Registrado em: 17 Dez 2007
Especificação:
Mensagens: 44
|
Colocada: Qua Set 03, 2008 9:29 am Assunto: |
|
|
desculpa a minha burrice... mas onde utilizo o $_SERVER['PHP_SELF']???  |
|
| Voltar ao topo |
|
geoblast member

Idade: 36 Registrado em: 27 Ago 2008
Especificação:
Mensagens: 4
|
Colocada: Qua Set 03, 2008 7:12 pm Assunto: |
|
|
| Kugas escreveu: | ... mas onde utilizo o $_SERVER['PHP_SELF']???  |
Olá,
Tens aqui um exemplo de como usar o php_self e a forma de o protegeres de ataques. |
|
| Voltar ao topo |
|
Kugas member

Idade: 23 Registrado em: 17 Dez 2007
Especificação:
Mensagens: 44
|
Colocada: Seg Set 08, 2008 9:58 am Assunto: |
|
|
hummm nao me esta a funcar
sera k fiz alguma coisa de errado.... |
|
| Voltar ao topo |
|
Kugas member

Idade: 23 Registrado em: 17 Dez 2007
Especificação:
Mensagens: 44
|
Colocada: Seg Set 08, 2008 1:44 pm Assunto: |
|
|
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 |
|
|
|
|
|
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
|
|
 |
 |
Powered by phpBB © 2001, 2002 phpBB Group
iCGstation v1.0 Template By Ray © 2003, 2004 iOptional
|
 |
| |