alexvaz Posted December 6, 2005 at 03:17 PM Report #8182 Posted December 6, 2005 at 03:17 PM Boas. Tenho uma tabela dentro de um form onde cada célula tem um textfield. Ao carregar no submeter, queria ir para outra página, guardando o valor de cada célula numa matriz e passando-a por parâmetro. Há alguma maneira de fazer isto? Já tentei com POST e com GET mas não consigo. Se alguém conehcer alguma maneira, seja com form ou sem form, agradecia a ajuda. Obrigado 😄
revX Posted December 6, 2005 at 06:59 PM Report #8194 Posted December 6, 2005 at 06:59 PM uma tabela mysql ? EDIT: Esqueçe, eu já colo aqui o código 😄
revX Posted December 6, 2005 at 07:12 PM Report #8196 Posted December 6, 2005 at 07:12 PM No ficheiro do form metes o conteudo do form dentro da tag form e o url do ficheiro para onde queres enviar form.php <html> <head> </head> <body> <form action="ficheiro_para_qual_queres_enviar.php" method="POST"> [ COLA AQUI O CONTEUDO DO FORM ] Por exemplo: <input type="text" maxlength="500" name="texto" /> <input type="submit" value="Submeter"> </form> </body> </html> Depois no ficheiro onde queres mostrar fazes output.php <html> <head> </head> <body> <?php $texto=$_POST['texto']; echo "O texto que introduziste é $texto"; ?> </body> </html> E aqui fica o output... basicamente ao submeter o conteúdo é enviado e para chamar basta usar $POST_['nome_do_input_do_form']; Props
alexvaz Posted December 6, 2005 at 10:22 PM Author Report #8219 Posted December 6, 2005 at 10:22 PM Sim, eu isso sei fazer. Mas o que quero passar não é texto, é uma matriz de números. O que tenho é isto: if(isset($_GET["matriz"])) $matriz=$_GET["matriz"]; else { $matriz[10][10]=0; $i=1; $j=1; for($i=1; $i<10; $i++) for($j=1; $j<10; $j++) { $matriz[$i][$j] = 0; } } echo " <form name=\"form1\" method=\"get\" action=\"sudolu.php\"> <table align=\"center\" border=\"1\" width=\"400\" id=\"table1\"> <tr> <td height=\"40\" width=\"40\" align=\"center\" style=\"border-style: solid; border-width: 1px\" bgcolor=\"#C0C0C0\"><input type=\"text\" name=$matriz[1][1] size=\"1\"></td> <td height=\"40\" width=\"40\" align=\"center\" style=\"border-style: solid; border-width: 1px\" bgcolor=\"#C0C0C0\"> </td> ..... e a tabela continua. Agora não sei o k hei-de meter no textfield e no action...
milks Posted December 8, 2005 at 11:44 AM Report #8295 Posted December 8, 2005 at 11:44 AM Se entendi bem queres uma tabela que represente uma matriz é? Experimenta assim: ficheiro_qualquer.php <?php $matriz = isset($_POST['matriz']) ? $_POST['matriz'] : null; /** * <!> PARA TESTAR A MATRIZ <!> * <!> REMOVER COMENTARIOS ABAIXO <!> */ //if(!is_null($matriz)) { // echo '<pre>'; // print_r($matriz); // echo '</pre>'; //} ?> <form name="frm" method="post"> <table> <?php for($i=0; $i<=10; $i++) { ?> <tr> <?php for($j=0; $j<=10; $j++) { echo '<td>'; echo '<input type="text" size="5" name="matriz['.$i.']['.$j.']" value="'.$matriz[$i][$j].'" />'; echo '</td>'; } // fim do for do $j ?> </tr> <?php } // fim do for do $i ?> </table> <input type="submit" name="submeter" value=" Okapa " /> </form> Isto gera-te uma tabela de 10 por 10, e o formulário é submetido para a mesma página, se quiseres testar os valores da matriz é só removeres os comentários lá em cima 😄 Os campos ficam com o valor que for submetido, se nenhum for submetido, fica vazio.
alexvaz Posted December 8, 2005 at 12:49 PM Author Report #8300 Posted December 8, 2005 at 12:49 PM Epá, obrigadissimo, era mesmo isso que queria. Já agora, não sabes como posso fazer um textfield sem linha á volta e também com cor de fundo?
revX Posted December 8, 2005 at 02:47 PM Report #8306 Posted December 8, 2005 at 02:47 PM css... defines isso em css... metes background-color : referencia da cor; border: 0px solid #FFFFFF;
alexvaz Posted December 9, 2005 at 01:58 PM Author Report #8342 Posted December 9, 2005 at 01:58 PM Não percebo muito de css. Podias dar-me uma ajuda? eu tenho isto: <head> <style type="text/css"> class TextField{ background-color: transparent; border: none; border-color: White; } </style> </head> ... e depois na linha do textfield tenho: echo '<input class="TextField" type="text" size="1" maxlength="1" name="matriz['.$i.']['.$j.']" value="'.$matriz[$i][$j].'" />'; Mas não funciona... Sabes onde possa estar o erro?
revX Posted December 9, 2005 at 03:23 PM Report #8343 Posted December 9, 2005 at 03:23 PM <head> <style type="text/css"> .TextField{ background-color: transparent; border: 1px solid #FFFFFF; padding: 5px; <- presumo que o espaço la dentro de jeito para n ficar apegado ao texto } </style> </head> Tente assim
alexvaz Posted December 12, 2005 at 04:33 PM Author Report #8455 Posted December 12, 2005 at 04:33 PM É mesmo isso! Funcionou! Muito obrigado. Mas agora estou com um problema. a matriz é $matriz[9][9]. Para aceder á linha, posso fazer $matriz[1], $matriz[2], etc. Mas como posso aceder á coluna???
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now