Foros del Web » Programando para Internet » PHP »

help con update

Estas en el tema de help con update en el foro de PHP en Foros del Web. hola soy nuevo en el foro quiero comentar un problema que tuve con update de estaba haciendo un base para personal y tenia un formulario ...
  #1 (permalink)  
Antiguo 11/01/2010, 17:33
 
Fecha de Ingreso: agosto-2008
Mensajes: 56
Antigüedad: 15 años, 8 meses
Puntos: 0
De acuerdo help con update

hola soy nuevo en el foro quiero comentar un problema que tuve con update de estaba haciendo un base para personal y tenia un formulario para modificar campos con 5 campos me funcionaba bien pero este aqui que tuve que agregar mas y me dejo de funcionar, no me da ningun error hasta me resetea los campos correctamente para una nueva modificacion, les paso elcodigo a ver si ven algo que yo no vi
porque estoy hace un tiempo con esto:
// Controlar y establecer conexión con servidor y base de datos
$Conex = mysql_connect("localhost","root","xxxxxxxx");
if (!$Conex) {
die("ATENCION!!! No fue posible establecer conexión con el Servidor de Base de Datos:<br />".mysql_error());
} // endif
$bd = mysql_select_db("ejemplobd2",$Conex);
if (!$bd) {
die("ATENCION!!! No fue posible seleccionar Base de Datos:<br />".mysql_error());
} // endif

// Capturar datos del formulario
$idCli = $_GET["IDC"];
$empCli = $_POST["EMP"];
$dirCli = $_POST["DIR"];
$ciuCli = $_POST["CIU"];
$telCli = $_POST["TEL"];
$paisCli = $_POST["PAIS"];

// Crear sentencia SQL
$sql = "UPDATE clientes SET ";
$sql .= "empresaCLI = '$empCli',";
$sql .= "dirCLI = '$dirCli',";
$sql .= "ciuCLI = '$ciuCli',";
$sql .= "telCLI = '$telCli',";
$sql .= "paisCLI = '$paisCli' ";
$sql .= "WHERE idCLI = $idCli";

// Ejecutar sentencia SQL
$res = mysql_query($sql,$Conex);

// Volver al formulario de Modificaciones
header("Location: FormModifCli.html");
?>


Gracias
  #2 (permalink)  
Antiguo 11/01/2010, 17:35
 
Fecha de Ingreso: agosto-2008
Mensajes: 56
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: help con update

Hola me falto decir el tema es que luego voy a visualizar y no hubo ninguna modificacion.
Como punto aparte tengo otro formularios de alta que si me carga toda la información que le pongo a los campos.
Sdos
  #3 (permalink)  
Antiguo 11/01/2010, 20:07
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: help con update

tienes error en php o en mysql?

pon la sentencia sql sin codigo de programación y dinos si tienes errores.
Por encima parece que tienes errores en php y no en mysql.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 11/01/2010, 21:25
 
Fecha de Ingreso: octubre-2008
Ubicación: Xalapa, Ver
Mensajes: 27
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: help con update

A ver, por lo que entiendo tienes un formulario de capura de datos (FormModifCli.html), en donde capturas los datos supongo que ese formulario lo envias a otra pagina en donde haces el update a tu base de datos y posteriormente redireccionas a la pagina en donde esta tu formulario.

por lo que pones en tu update estas manejando $_GET Y $_POST, si el formulario lo estas enviando utilizando $_POST, cuando igualas la variable $idCli = $_GET["IDC"];. El $_GET['IDC'] ya perdio el valor que tenia cuando enviaste tu formulario por $_POST, por lo tanto tu query nunca encuentra el valor buscado.

lo que tendiras que hacer es en el formulario de captura si estas recibiendo el IDC por $_GET es crear un campo oculto en el cual le pongas el valor del IDC recibido, es decir

<input type="hidden" name="idc" value=<?php echo $_GET['IDC']; ?>

despues en tu pagina donde ejecutas tu update puedes hacerlo de la siguiente manera.

$idCli = $_POST["idc"];
$empCli = $_POST["EMP"];
$dirCli = $_POST["DIR"];
$ciuCli = $_POST["CIU"];
$telCli = $_POST["TEL"];
$paisCli = $_POST["PAIS"];

// Crear sentencia SQL
$sql = "UPDATE clientes SET ";
$sql .= "empresaCLI = '$empCli',";
$sql .= "dirCLI = '$dirCli',";
$sql .= "ciuCLI = '$ciuCli',";
$sql .= "telCLI = '$telCli',";
$sql .= "paisCLI = '$paisCli' ";
$sql .= "WHERE idCLI = $idCli";

// Ejecutar sentencia SQL
$res = mysql_query($sql,$Conex);

// Volver al formulario de Modificaciones
header("Location: FormModifCli.html");


Saludos
  #5 (permalink)  
Antiguo 12/01/2010, 16:10
 
Fecha de Ingreso: agosto-2008
Mensajes: 56
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: help con update

MIL PERDONES EL CODIGO QUE FUNCIONA ES ESE LO QUE PASA ES QUE CUANDO LES AGREGUE UNOS CAMPOS Y SE LOS CAMBIE ME DEJO DE FUNCIONAR Y YA REVISE TODO NO ENCEUNTRO POR NINGUN LADO EL ERROR.
HAY ALGUN LUGAR DONDE PUEDA SUBIR TODO??

EL CODIGO QUE TENGO AHORA ES:

<?php
// --------------------------
// PROCESO MODIFICACION DE CLIENTES
// --------------------------

// Controlar y establecer conexión con servidor y base de datos
$Conex = mysql_connect("localhost","root","andre1980");
if (!$Conex) {
die("ATENCION!!! No fue posible establecer conexión con el Servidor de Base de Datos:<br />".mysql_error());
} // endif
$bd = mysql_select_db("ejemplobd",$Conex);
if (!$bd) {
die("ATENCION!!! No fue posible seleccionar Base de Datos:<br />".mysql_error());
} // endif

// Capturar datos del formulario
$idFun = $_GET["IDC"];
$ingFun = $_POST["ING"];
$nom1Fun = $_POST["NOM1"];
$nom2Fun = $_POST["NOM2"];
$ape1Fun = $_POST["APE1"];
$ape2Fun = $_POST["APE2"];
$nacFun = $_POST["NAC"];
$ideFun = $_POST["IDE"];
$telFun = $_POST["TEL"];
$dirFun = $_POST["DIR"];
$estFun = $_POST["EST"];
$mailFun = $_POST["MAIL"];

// Capturar datos del formulario


// Crear sentencia SQL
$sql = "UPDATE funcionarios SET ";
$sql .= "ingFun = '$ingFun',";
$sql .= "nom1Fun = '$nom1Fun',";
$sql .= "nom2Fun = '$nom2Fun',";
$sql .= "ape1Fun = '$ape1Fun',";
$sql .= "ape2Fun = '$ape2Fun',";
$sql .= "nacFun = '$nacFun',";
$sql .= "ideFun = '$ideFun',";
$sql .= "dirFun = '$dirFun',";
$sql .= "telFun = '$telFun',";
$sql .= "estFun = '$estFun' ";
$sql .= "mailFun = '$mailFun',";
$sql .= "WHERE idFun = $idFun";

// Ejecutar sentencia SQL
$res = mysql_query($sql,$Conex);

// Volver al formulario de Modificaciones
header("Location: FormModifCli.html");
?>

PASO EL HTML RELACIONADO

<html>
<head>
<title>xxxxxxx - Modificación de Funcionarios</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="xxxxxxxxxxxxxxxx">
<meta name="copyright" content="xxxxxxxxx">
<link href="Estilos.css" rel="stylesheet" type="text/css" />
<script src="FuncionesCheck.js"></script>
</head>

<body>
<div class="formulario">
<form id="frmFUN" action="ProcesoLoadCli.php" method="POST">
<fieldset style="width: 300px;">
<legend>&nbsp;MODIFICACIÓN DE FUNCIONARIOS&nbsp;</legend>
<br />
<table>
<tr class="labelForm">

<td>ID</td>
<td>FECHA INGRESO</td>
</tr>

<tr>

<td><input type="text" name="ID" id="idFun" maxlength="10" class="inputForm" title="Máximo 10 digitos" onfocus="Marked(this.id)" onblur="unMarked(this.id);" onchange="checkID('UPD');" /></td>
<td><input type="text" name="ING" id="ingFun" maxlength="10" class="inputForm" title="Máximo 10 digitos" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
</tr>

<tr class="labelForm">
<td>1er NOMBRE</td>
<td>2do NOMBRE</td>
<td>1er APELLIDO</td>
<td>2do APELLIDO</td>
</tr>

<tr>
<td><input type="text" name="NOM1" id="nom1Fun" maxlength="15" class="inputForm" title="Máximo 15 caracteres" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
<td><input type="text" name="NOM2" id="nom2Fun" maxlength="15" class="inputForm" title="Máximo 15 caracteres" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
<td><input type="text" name="APE1" id="ape1Fun" maxlength="15" class="inputForm" title="Máximo 15 caracteres" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
<td><input type="text" name="APE2" id="ape2Fun" maxlength="15" class="inputForm" title="Máximo 15 caracteres" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
</tr>



<tr class="labelForm">
<td>FECHA DE NACIMIENTO</td>
<td>CI</td>
<td>TEL</td>
<td>DIRECCIÓN</td>
<td>ESTADO CIVIL</td>
<td>EMAIL</td>
</tr>
<tr>
<td><input type="text" name="NAC" id="nacFun" maxlength="15" class="inputForm" title="Máximo 15 digitos" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
<td><input type="text" name="IDE" id="ideFun" maxlength="10" class="inputForm" title="Máximo 10 digitos" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
<td><input type="text" name="TEL" id="telFun" maxlength="10" class="inputForm" title="Máximo 10 digitos" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
<td><input type="text" name="DIR" id="dirFun" maxlength="30" class="inputForm" title="Máximo 30 caracteres" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
<td><input type="text" name="EST" id="estFun" maxlength="10" class="inputForm" title="Máximo 10 caracteres" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
<td><input type="text" name="MAIL" id="mailFun" maxlength="50" class="inputForm" title="Máximo 50 caracteres" onfocus="Marked(this.id)" onblur="unMarked(this.id);" /></td>
</tr>
</table>
<br />
</fieldset>
<div class="botonForm">
<input type="button" value="Actualizar" class="boton" title="Modificar datos del Cliente" onclick="checkForm()";/></td>
<input type="reset" value="Cancelar" class="boton" title="Cancelar datos del Formulario" /></td>
</div>
</form>
</div>
<div class="titular">
<span style="color:#ff9900;">e</span><span style="color:#c0c0c0;">-</span><span style="color:#d1ff19;" >BD</span><span style="color:#99cc00;">client's</span>
</div>
<div class="acceso">
<a href="FormAltaCli.html">Altas</a>&nbsp;|
<a href="FormBajaCli.html">Bajas</a>&nbsp;|
<a href="FormModifCli.html">Modificaciones</a>&nbsp;|
<a href="ProcesoVerCli.php">Visualizar</a>
</div>
</body>
</html>


MIL GRACIASSSSSSSSSSSSSSSSSSSS
  #6 (permalink)  
Antiguo 12/01/2010, 16:14
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: help con update

favor no poner código php en este foro. Para eso existe un lugar de especialistas aqui.

si lo que falla es la sentencia update, aca te ayudamos pero sin código php.

saluds
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 12/01/2010, 16:14
 
Fecha de Ingreso: agosto-2008
Mensajes: 56
Antigüedad: 15 años, 8 meses
Puntos: 0
Ahhh no es que me de error sino que aunque me resetea los campos no actualiza la informacion sino que ladeja como estaba.

Okey me doy por enterado
gracias

Última edición por GatorV; 14/01/2010 a las 21:47
  #8 (permalink)  
Antiguo 14/01/2010, 15:28
Avatar de Huacho12  
Fecha de Ingreso: septiembre-2008
Ubicación: Isla Mujeres Q. Roo
Mensajes: 175
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: help con update

Hola andre1980!!!!

Mira por lo que veo de tu sentencia y por lo que tines en el siguiente codigo:

// Crear sentencia SQL
$sql = "UPDATE funcionarios SET ";
$sql .= "ingFun = '$ingFun',";
$sql .= "nom1Fun = '$nom1Fun',";
$sql .= "nom2Fun = '$nom2Fun',";
$sql .= "ape1Fun = '$ape1Fun',";
$sql .= "ape2Fun = '$ape2Fun',";
$sql .= "nacFun = '$nacFun',";
$sql .= "ideFun = '$ideFun',";
$sql .= "dirFun = '$dirFun',";
$sql .= "telFun = '$telFun',";
$sql .= "estFun = '$estFun' ";
$sql .= "mailFun = '$mailFun',";
$sql .= "WHERE idFun = $idFun";

Es que estas poniendo una "," de mas antes de poner tu condición, tendrias que quitarla y probar tu consulta.

Y algo más, te sugiero que cada vez que realices consultas las imprimas, las copies y pegues directamente en tu mysql y asi ver si funciona o no.

Otra opcion seria que al momento de realizar tus consultas no las pongas como las estas poniendo, sino que las pongas de corrido, ejeplo:


// Crear sentencia SQL
$sql = "UPDATE funcionarios SET ingFun = '$ingFun',nom1Fun = '$nom1Fun',nom2Fun = '$nom2Fun',ape1Fun = '$ape1Fun',ape2Fun = '$ape2Fun',nacFun = '$nacFun',ideFun = '$ideFun',dirFun = '$dirFun',telFun = '$telFun',estFun = '$estFun',mailFun = '$mailFun' WHERE idFun = $idFun";


Espero haberte podido ayudar .

Saludos
  #9 (permalink)  
Antiguo 14/01/2010, 15:50
 
Fecha de Ingreso: agosto-2008
Mensajes: 56
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: help con update

Muchas gracias, voy a probar todos tus consejos.
Un abrazo
  #10 (permalink)  
Antiguo 14/01/2010, 19:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: help con update

Por favor no colocar código de programación en la sección de bases de datos:
http://www.forosdelweb.com/f21/funci...-datos-413499/

Traslado el tema a PHP.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: update
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 14:40.