Foros del Web » Programando para Internet » PHP »

Muy Complejo formulario

Estas en el tema de Muy Complejo formulario en el foro de PHP en Foros del Web. Hola a todos... debo cargar un formulario en relacion con la base de datos. Es decir colocar texto, botones y cajas de texto en relacion ...
  #1 (permalink)  
Antiguo 23/09/2007, 23:26
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Exclamación Muy Complejo formulario

Hola a todos... debo cargar un formulario en relacion con la base de datos. Es decir colocar texto, botones y cajas de texto en relacion a las celdas llenas q tiene una tabla. Hasta ahi todo bien, el problema es a la hora de grabar los datos enviados de elementos de la misma pagina y en cantidades variables.
Trato de ver la forma de hacer el codigo de insertar pero este parece ser complejo ademas de que se debe tener en cuenta q si se encuentran registros en esta talba deben aparecer al cargarse la pagina.

el codigo es el siguiente:

Código:
<?php require_once('Connections/auditar.php'); ?>
<?php
session_start();
$colname_tabla = "-1";
if (isset($_GET['tab_num'])) {
  $colname_tabla = (get_magic_quotes_gpc()) ? $_GET['tab_num'] : addslashes($_GET['tab_num']);
}
mysql_select_db($database_auditar, $auditar);
$query_tabla = sprintf("SELECT tab_num, tab_titulo, tab_dominio FROM tabla WHERE tab_num = %s", $colname_tabla);
$tabla = mysql_query($query_tabla, $auditar) or die(mysql_error());
$row_tabla = mysql_fetch_assoc($tabla);
$totalRows_tabla = mysql_num_rows($tabla);

$colname_tabptos = "-1";
if (isset($_GET['tab_num'])) {
  $colname_tabptos = (get_magic_quotes_gpc()) ? $_GET['tab_num'] : addslashes($_GET['tab_num']);
}
mysql_select_db($database_auditar, $auditar);
$query_tabptos = sprintf("SELECT * FROM tablaptos WHERE tab_num = %s", $colname_tabptos);
$tabptos = mysql_query($query_tabptos, $auditar) or die(mysql_error());
$row_tabptos = mysql_fetch_assoc($tabptos);
$totalRows_tabptos = mysql_num_rows($tabptos);

/////////
//gabar//
/////////
if((isset($_POST['grabar'])) and (isset($_SESSION['cont'])) ){

		$campos='';
		$conteos='';
		$cont=$_SESSION['cont']-1;//conteo de los campos a llenar
		echo ($cont.'<br>');
		for ($i=1;$i=$cont;$i++){
		//for
		//campos a llenar
		$campos=$campos."'tab_pt".$i."yn','tab_pt".$i."des','tab_pt".$i."doc'";
		//entrada de valor de botones a array
		$valoryn=array($i => $_POST[$i]);
		//entrada de la descripcion de cada punto en array
		$valordes=array($i => $_POST[$i.'des']);
		//entrada de la descripcion de cada documento punto en array
		$valordoc=array($i => $_POST[$i.'doc']);
		//entrada de todas las variables a ingresar
		$conteos=$conteos.", %s ";
		//fin for
		}
		$sentencia="INSERT INTO tablaptos (tab_num, ".$campos.") VALUES (%s".$conteos.")";
		for ($i=1;$i=$cont;$i++){
		//for
		$sentencia=$sentencia.','.$valoryn($i).','.$valordes($i).','.$valordoc($i);
		//finfor
		}
		
	$insertSQL = sprintf($sentencia);
  mysql_select_db($database_auditar, $auditar);
  $Result1 = mysql_query($insertSQL, $auditar) or die(mysql_error());


}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<link rel="stylesheet" href="style.css" />
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="auditando.php">
  
  <table width="100%" border="2" cellspacing="0" cellpadding="0">
    <tr>
      <td>Evauacion de objetivo</td>
      <td>Revisado </td>
      <td>Descripcion de la Situacion Encontrada </td>
      <td>Documentacion Sustentatoria </td>
    </tr>
		<?php 
		// CODIGO PARA CARGAR TEXTO OPTIONS Y CAJAS DE TEXTO DE LA BASE DE DATOS
		$i=1;
		$fila='tab_pt'.$i;
		$colocar='tab_pt'.$i.'dato';
		while (isset($row_tabptos[$fila])){
		///while
		
		$fila='tab_pt'.$i;
		$colocar='tab_pt'.$i.'dato';
		if (isset($row_tabptos[$fila])){
		///inicia if
		
		//iniciar fila
		echo('<tr height="30">');
		//colocar texto
		echo('<td>');
		//colocar en negita

		if (($row_tabptos[$colocar]=='sn') or ($row_tabptos[$colocar]=='no')){
		echo('<b>');}
		
		echo($row_tabptos[$fila]);
		
		//terminar negrita
		if (($row_tabptos[$colocar]=='sn') or ($row_tabptos[$colocar]=='no')){
		echo('</b>');}
		
		echo('</td>');
		
		//colocar botones de opcion
		if (($row_tabptos[$colocar]=='sn') or ($row_tabptos[$colocar]=='si')){
		echo('<td><input name="'.$i.'" type="radio" value="Si" />Si<br /><input name="'.$i.'" type="radio" value="No" />No<t/d>');
		//colocar ara de texto para descripcion
		echo('<td><textarea name="'.$i.'des" cols="30" rows="4" id="'.$i.'des"></textarea></td>');
		//colocar area de texto para documento
		echo('<td><textarea name="'.$i.'doc" cols="30" rows="4" id="'.$i.'doc"></textarea></td>');
		//fin de if pasar a otra fila
		}
		echo('</tr>');
		
		///termina if
		}

		$_SESSION['cont']=$i;
		$i=$i+1;
		////termina while
		}
		?>
  </table>
<center><input type="submit" name="Submit" value="Enviar" /></center>
</form>
</body>
</html>
<?php
mysql_free_result($tabla);

mysql_free_result($tabptos);
?>
Ahora necesito saber como hacer la insecion correcta.

Gracias por su apoyo y pasiencia. Es en verdad muy urgente para mi.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:26.