Foros del Web » Programando para Internet » PHP »

Guardar varios registros

Estas en el tema de Guardar varios registros en el foro de PHP en Foros del Web. AMIGO AUXILIO TENGO DOS FUNCIONES UNA DE AGREGAR Y OTRA DE GUARDAR RESULTA QUE PUEDO AGREGAR FACILMENTE PERO AL GUARDAR TENGO PROBLEMAS PARA HACERLO CON ...
  #1 (permalink)  
Antiguo 11/11/2011, 14:28
Avatar de Oviedo  
Fecha de Ingreso: abril-2007
Ubicación: Venezuela
Mensajes: 128
Antigüedad: 17 años
Puntos: 0
De acuerdo Guardar varios registros

AMIGO AUXILIO TENGO DOS FUNCIONES UNA DE AGREGAR Y OTRA DE GUARDAR RESULTA QUE PUEDO AGREGAR FACILMENTE PERO AL GUARDAR TENGO PROBLEMAS PARA HACERLO CON EL CICLO REPETITIVO QUE TENGO MIREN:


function agregarFila($formulario){
$respuesta = new xajaxResponse();
extract($formulario);
$id_campos = $cant_campos = $num_campos+1;
$str_html_td1 = $hora .
'<input type="hidden" id="hdnhora_' . $id_campos . '" name="hdnhora_' . $id_campos . '" value="' . $hora . '"/>' ;
$str_html_td2 = "$estudio" .
'<input type="hidden" id="hdnestudio_' . $id_campos . '" name="hdnestudio_' . $id_campos . '" value="' . $estudio . '"/>' ;
$str_html_td3 = "$disponibilidad" .
'<input type="hidden" id="hdndisponibilidad_' . $id_campos . '" name="hdndisponibilidad_' . $id_campos . '" value="' . $disponibilidad . '"/>' ;
$str_html_td4 = "$tipo_cita" .
'<input type="hidden" id="hdntipo_cita_' . $id_campos . '" name="hdntipo_cita_' . $id_campos . '" value="' . $tipo_cita . '"/>' ;
$str_html_td5 = "$anestesia" .
'<input type="hidden" id="hdnanestesia_' . $id_campos . '" name="hdnanestesia_' . $id_campos . '" value="' . $anestesia . '"/>' ;
$str_html_td6 = "$estatus" .
'<input type="hidden" id="hdnestatus_' . $id_campos . '" name="hdnestatus_' . $id_campos . '" value="' . $estatus . '"/>' ;
$str_html_td7 = '<img src="images/delete.png" width="16" height="16" alt="Eliminar" onclick="if(confirm(\'Realmente desea eliminar este detalle?\')){xajax_eliminarFila('. $id_campos .', proyecto.cant_campos.value);}"/>';
$str_html_td7 .= '<input type="hidden" id="hdnIdCampos_'. $id_campos .'" name="hdnIdCampos[]" value="'. $id_campos .'" />';

if($num_campos == 0){ // creamos un encabezado de lo contrario solo agragamos la fila
$respuesta->addCreate("tbDetalle", "tr", "rowDetalle_0");
$respuesta->addCreate("rowDetalle_0", "th", "tdDetalle_01"); //creamos los campos
$respuesta->addCreate("rowDetalle_0", "th", "tdDetalle_02");
$respuesta->addCreate("rowDetalle_0", "th", "tdDetalle_03");
$respuesta->addCreate("rowDetalle_0", "th", "tdDetalle_04");
$respuesta->addCreate("rowDetalle_0", "th", "tdDetalle_05");
$respuesta->addCreate("rowDetalle_0", "th", "tdDetalle_06");
$respuesta->addCreate("rowDetalle_0", "th", "tdDetalle_07");

$respuesta->addAssign("tdDetalle_01", "innerHTML", "Hora"); //asignamos el contenido
$respuesta->addAssign("tdDetalle_02", "innerHTML", "Estudio");
$respuesta->addAssign("tdDetalle_03", "innerHTML", "Disponibilidad");
$respuesta->addAssign("tdDetalle_04", "innerHTML", "tipo_cita");
$respuesta->addAssign("tdDetalle_05", "innerHTML", "Anestesia");
$respuesta->addAssign("tdDetalle_06", "innerHTML", "Estatus");
$respuesta->addAssign("tdDetalle_07", "innerHTML", "Eliminar");

}
$idRow = "rowDetalle_$id_campos";
$idTd = "tdDetalle_$id_campos";
$respuesta->addCreate("tbDetalle", "tr", $idRow);
$respuesta->addCreate($idRow, "td", $idTd."1"); //creamos los campos
$respuesta->addCreate($idRow, "td", $idTd."2");
$respuesta->addCreate($idRow, "td", $idTd."3");
$respuesta->addCreate($idRow, "td", $idTd."4");
$respuesta->addCreate($idRow, "td", $idTd."5");
$respuesta->addCreate($idRow, "td", $idTd."6");
$respuesta->addCreate($idRow, "td", $idTd."7");
/*
* Esta parte podria estar dentro de algun ciclo iterativo */

$respuesta->addAssign($idTd."1", "innerHTML", $str_html_td1); //asignamos el contenido
$respuesta->addAssign($idTd."2", "innerHTML", $str_html_td2);
$respuesta->addAssign($idTd."3", "innerHTML", $str_html_td3);
$respuesta->addAssign($idTd."4", "innerHTML", $str_html_td4);
$respuesta->addAssign($idTd."5", "innerHTML", $str_html_td5);
$respuesta->addAssign($idTd."6", "innerHTML", $str_html_td6);
$respuesta->addAssign($idTd."7", "innerHTML", $str_html_td7);

/* aumentamos el contador de campos */

$respuesta->addAssign("num_campos","value", $id_campos);
$respuesta->addAssign("cant_campos" ,"value", $id_campos);
return $respuesta;
}
function guardar($formulario){

//comentaré todo lo que tenga que ver con la Base de Datos
$flag = 0;
extract($formulario);
$respuesta = new xajaxResponse();

//$conn = new conexionBD ( ); Genera una nueva coneccion *****
//$conn->EjecutarSQL("BEGIN TRANSACTION A1"); *******

// al guardar los numeros de las lineas nos aseguramos que si borran una no perderemos las referencias.
foreach($hdnIdCampos as $id){ // Así recorro cada campo en cada linea
// Guardo la consulta en una cadena
$link=mysql_connect("localhost","root","");
mysql_select_db("bd_siam",$link); /* */
$Str_SQL = "INSERT INTO detalle_agenda(
id_hora, id_estudio, disponibilidad,
tipo_cita, anestesia, estatus)
VALUES(
'" . $formulario['hdnhora_' . $id] . "', '" . $formulario['hdnestudio_' . $id] . "', '" . $formulario['hdndisponibilidad_' . $id] . "',
'" . $formulario['hdntipo_cita_' . $id] . "', '" . $formulario['hdnanestesia_' . $id] . "' '". $formulario['hdnestatus_' . $id] . "')";


/* ------------------
if(!$conn->EjecutarSQL($Str_SQL)){ //CONTROL DE ERRORES. muy importante, si no guarda uno, no guarda nada.
$conn->EjecutarSQL("ROLLBACK TRANSACTION A1");
$flag = 1;
$MSG = "Ha ocurrido un error al insertar los datos de la persona.\nPor favor, intentelo nuevamente.";
}*/
/* ------------------- */

//$respuesta->addAlert($Str_SQL);
//die($Str_SQL);
mysql_query($Str_SQL);
}


if($flag == 0){
//$conn->EjecutarSQL("COMMIT TRANSACTION A1");
$MSG = "Datos guardados con exito";
}

$respuesta->addAlert($MSG);
return $respuesta;

}

Etiquetas: formulario, html, mysql, registros, sql
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 09:33.