Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

skindedo

Inserção tabela dinâmica php + mysql + jquery

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.