skindedo 0 Denunciar post Postado Agosto 2, 2011 Olá galera.. fiz aqui um exemplo fazendo a inserção em uma tabela dinâmica em php (buscando exemplos no google ;P) e não obtive o resultado esperado.. o código está funcional.. e gostaria de ajuda à respeito se possível. Segue abaixo o código: <?php $conn = mysql_connect('localhost', 'root', ''); if (!$conn) { die('Could not connect: ' . mysql_error()); } mysql_select_db("dotproject", $conn) or die(mysql_error()); ?> <?php if( $_SERVER['REQUEST_METHOD']=='POST' ) { $sql = "INSERT INTO dotp_tap_initial_cost ( tap_initial_cost_id, tap_initial_cost_group, tap_initial_cost_price, tap_initial_cost_tap_id_fk ) VALUES "; $values = Array(); for( $i=0; $i<count( $_POST['grupo'] ); $i++ ) { $values[] = "(NULL, '".filter( $_POST['grupo'][$i] )."', '".filter( $_POST['valor'][$i] )."', '".filter( $_POST['tap_id_name_fk'][$i] )."')"; } $resultado = ($sql.implode( ',', $values )); echo $resultado; mysql_query ($resultado, $conn); } function filter( $str ){ return addslashes( $str ); } ?> <html> <head> <script type="text/javascript" src="js/jquery-1.6.2.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('a#ok').click(function(){ var $this = $('#form_prepare'); var grupo = $this.find("select[name='grupo']").val(), valor = $this.find("input[name='valor']").val(), tap_id_name_fk = $this.find("input[name='tap_id_name_fk']").val(); var tr = '<tr>'+ '<td>'+grupo+'</td>'+ '<td>'+valor+'</td>'+ '<td>'+tap_id_name_fk+'</td>'+ '</tr>' $('#grid').find('tbody').append( tr ); var hiddens = '<input type="hidden" name="grupo[]" value="'+grupo+'" />'+ '<input type="hidden" name="valor[]" value="'+valor+'" />'+ '<input type="hidden" name="tap_id_name_fk[]" value="'+tap_id_name_fk+'" />'; $('#form_insert').find('fieldset').append( hiddens ); return false; }); }); </script> <style type="text/css"> #principal { width: 1000px; margin: 0 auto; } </style> </head> <body> <div id="principal"> <form action="" method="post" id="form_prepare"> <fieldset> <label>Grupo: <select id="grupo" name="grupo"> <option value="GRUPO XXX">2</option> </select> </label> <label>Valor: <input type="text" name="valor" /></label> <label>Referente ao TAP: <input type="text" name="tap_id_name_fk" /></label> <label><a href="#" id="ok" name="ok" class="ok"><img src="images/arrow-down.gif" /></a></label> </fieldset> </form> <table id="grid"> <thead> <tr> <th>Grupo</th> <th>Valor</th> <th>Referente ao TAP</th> </tr> </thead> <tbody> </tbody> </table><!-- /grid --> <form action="" method="post" id="form_insert"> <fieldset style="display: none;"></fieldset> <label><input type="submit" name="cadastrar" value="Cadastrar" /></label> </form> </div> </body> </html> Eu queria mudar da seguinte forma.. 1 = não queria uma tabela temporária pois os itens terão que ser visualizados pelo usuário quando o mesmo for editar o formulário real. 2 = esse form poderia vir como uma div escondida que recebesse um "dialog" em jquery ou algo do tipo, fazendo a inserção em uma tabela que estivesse ligada ao formulário real, que estaria ligado ao tap_id_name_fk (que é um termo de abertura). Ai então ele faria um Append juntando os itens da tabela e inserindo no banco mesmo do jeito que está ai. ps: O formulário de Adição e Edição ficam em 1 arquivo só. Alguém pode dar um helpzinho com isso dai ? =) Grato Compartilhar este post Link para o post Compartilhar em outros sites
skindedo 0 Denunciar post Postado Agosto 4, 2011 Vi que para não deixar a tabela temporária eu vou fazer um "For i++" para percorrer o array que contenha a FK referente ao formulário real. Agora meu problema está sendo ao fazer o insert na tabela sem fazer com que saia do formulário. alguém pode dar um help? a idéia poderia ser do jeito que citei no numero 2 do que postei acima, e teria que ter uma atualização da tabela a cada inserção, é possível isso via JQuery? Compartilhar este post Link para o post Compartilhar em outros sites