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í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.