Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con UPDATE con php y mysqli

Estas en el tema de Problema con UPDATE con php y mysqli en el foro de PHP en Foros del Web. acabo de probar a mostrar el campo. no me lo rellena con el ID, se lo he puesto a mano. he modificado un registro y ...

  #31 (permalink)  
Antiguo 27/04/2017, 15:30
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

acabo de probar a mostrar el campo. no me lo rellena con el ID, se lo he puesto a mano. he modificado un registro y si me lo modifica perfectamente. pero tengo otros proyectos que lo tengo así y no he tenido nunca problemas... sin ir más lejos

Código:
// creamos la tabla para mostrar os datos a modificar
		echo "<br><br><form action='' method='POST'>";
		echo "<table  width='385' height='134' border='1' bgcolor='#00FFBF' >
				<tr>
					<td><center>
					CIF: <input type='text' name='cif' value='$fila[1]'><br><br>
					DNI: <input type='text' name='dni' value='$fila[2]'><br><br>
					Nombre: <input type='text' name='nombre' value='$fila[3]'><br><br>
					Domicilio: <input type='text' name='domicilio' value='$fila[4]'><br><br>
					Poblacion: <input type='text' name='poblacion' value='$fila[5]'><br><br>
					Provincia: <input type='text' name='provincia' value='$fila[6]'><br><br>
					CP: <input type='number' name='codigo_postal' value='$fila[7]'><br><br>
					Email: <input type='text' name='email' value='$fila[8]'><br><br>
					Telefono: <input type='number' name='telefono' value='$fila[9]'><br><br>
					Movil: <input type='number' name='movil' value='$fila[10]'><br><br>
					Fax: <input type='number' name='fax' value='$fila[11]'><br><br>
					Persona de contacto: <input type='text' name='persona_contacto' value='$fila[12]'><br><br>
					Forma de pago: <input type='text' name='forma_pago' value='$fila[13]'><br><br>
					Direccion de facturacion: <input type='text' name='direccion_facturacion' value='$fila[14]'><br><br>
					Direccion de envio: <input type='text' name='direccion_envio' value='$fila[15]'><br><br>
					Nombre comercial: <input type='text' name='nombre_comercial' value='$fila[16]'><br><br>
					Tipo de via: <input type='text' name='tipo_via' value='$fila[17]'><br><br>
					Numero de cuenta: <input type='text' name='numero_cuenta' value='$fila[18]'><br><br>
					Banco: <input type='text' name='banco' value='$fila[19]'><br><br>
				</tr>
			</table>";
			echo"<input type='hidden' name='cod_cliente' value='$fila[0]'>";
			echo "<br>";
			echo "<input type='submit' name='accion' value='Modificar'>";
	
	}
// codigo de modificación de albaranes
	if (isset($_POST['accion']))
	{
		$cod_cliente = $_POST['cod_cliente'];
		$cif = $_POST['cif'];
		$dni = $_POST['dni'];
		$nombre = $_POST['nombre'];
		$domicilio = $_POST['domicilio'];
		$poblacion = $_POST['poblacion'];
		$provincia = $_POST['provincia'];
		$codigo_postal = $_POST['codigo_postal'];
		$email = $_POST['email'];
		$telefono = $_POST['telefono'];
		$movil = $_POST['movil'];
		$fax = $_POST['fax'];
		$persona_contacto = $_POST['persona_contacto'];
		$forma_pago = $_POST['forma_pago'];
		$direccion_facturacion = $_POST['direccion_facturacion'];
		$direccion_envio = $_POST['direccion_envio'];
		$nombre_comercial = $_POST['nombre_comercial'];
		$tipo_via = $_POST['tipo_via'];
		$numero_cuenta = $_POST['numero_cuenta'];
		$banco = $_POST['banco'];
		
	
		mysql_query("UPDATE clientes SET cod_cliente='$cod_cliente', cif='$cif', dni='$dni', nombre='$nombre',domicilio='$domicilio',poblacion='$poblacion',provincia='$provincia',codigo_postal='$codigo_postal',email='$email',telefono='$telefono',movil='$movil',fax='$fax',persona_contacto='$persona_contacto',forma_pago='$forma_pago',direccion_facturacion='$direccion_facturacion',direccion_envio='$direccion_envio',nombre_comercial='$nombre_comercial',tipo_via='$tipo_via',numero_cuenta='$numero_cuenta',banco='$banco' WHERE cod_cliente='$cod_cliente';",$conexion);
  #32 (permalink)  
Antiguo 27/04/2017, 15:31
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

Cita:
Iniciado por daviserraalonso Ver Mensaje
acabo de probar a mostrar el campo. no me lo rellena con el ID, se lo he puesto a mano. he modificado un registro y si me lo modifica perfectamente. pero tengo otros proyectos que lo tengo así y no he tenido nunca problemas... sin ir más lejos, este código hace la modificación sin problemas y con el cod oculto

Código:
// creamos la tabla para mostrar os datos a modificar
		echo "<br><br><form action='' method='POST'>";
		echo "<table  width='385' height='134' border='1' bgcolor='#00FFBF' >
				<tr>
					<td><center>
					CIF: <input type='text' name='cif' value='$fila[1]'><br><br>
					DNI: <input type='text' name='dni' value='$fila[2]'><br><br>
					Nombre: <input type='text' name='nombre' value='$fila[3]'><br><br>
					Domicilio: <input type='text' name='domicilio' value='$fila[4]'><br><br>
					Poblacion: <input type='text' name='poblacion' value='$fila[5]'><br><br>
					Provincia: <input type='text' name='provincia' value='$fila[6]'><br><br>
					CP: <input type='number' name='codigo_postal' value='$fila[7]'><br><br>
					Email: <input type='text' name='email' value='$fila[8]'><br><br>
					Telefono: <input type='number' name='telefono' value='$fila[9]'><br><br>
					Movil: <input type='number' name='movil' value='$fila[10]'><br><br>
					Fax: <input type='number' name='fax' value='$fila[11]'><br><br>
					Persona de contacto: <input type='text' name='persona_contacto' value='$fila[12]'><br><br>
					Forma de pago: <input type='text' name='forma_pago' value='$fila[13]'><br><br>
					Direccion de facturacion: <input type='text' name='direccion_facturacion' value='$fila[14]'><br><br>
					Direccion de envio: <input type='text' name='direccion_envio' value='$fila[15]'><br><br>
					Nombre comercial: <input type='text' name='nombre_comercial' value='$fila[16]'><br><br>
					Tipo de via: <input type='text' name='tipo_via' value='$fila[17]'><br><br>
					Numero de cuenta: <input type='text' name='numero_cuenta' value='$fila[18]'><br><br>
					Banco: <input type='text' name='banco' value='$fila[19]'><br><br>
				</tr>
			</table>";
			echo"<input type='hidden' name='cod_cliente' value='$fila[0]'>";
			echo "<br>";
			echo "<input type='submit' name='accion' value='Modificar'>";
	
	}
// codigo de modificación de albaranes
	if (isset($_POST['accion']))
	{
		$cod_cliente = $_POST['cod_cliente'];
		$cif = $_POST['cif'];
		$dni = $_POST['dni'];
		$nombre = $_POST['nombre'];
		$domicilio = $_POST['domicilio'];
		$poblacion = $_POST['poblacion'];
		$provincia = $_POST['provincia'];
		$codigo_postal = $_POST['codigo_postal'];
		$email = $_POST['email'];
		$telefono = $_POST['telefono'];
		$movil = $_POST['movil'];
		$fax = $_POST['fax'];
		$persona_contacto = $_POST['persona_contacto'];
		$forma_pago = $_POST['forma_pago'];
		$direccion_facturacion = $_POST['direccion_facturacion'];
		$direccion_envio = $_POST['direccion_envio'];
		$nombre_comercial = $_POST['nombre_comercial'];
		$tipo_via = $_POST['tipo_via'];
		$numero_cuenta = $_POST['numero_cuenta'];
		$banco = $_POST['banco'];
		
	
		mysql_query("UPDATE clientes SET cod_cliente='$cod_cliente', cif='$cif', dni='$dni', nombre='$nombre',domicilio='$domicilio',poblacion='$poblacion',provincia='$provincia',codigo_postal='$codigo_postal',email='$email',telefono='$telefono',movil='$movil',fax='$fax',persona_contacto='$persona_contacto',forma_pago='$forma_pago',direccion_facturacion='$direccion_facturacion',direccion_envio='$direccion_envio',nombre_comercial='$nombre_comercial',tipo_via='$tipo_via',numero_cuenta='$numero_cuenta',banco='$banco' WHERE cod_cliente='$cod_cliente';",$conexion);
  #33 (permalink)  
Antiguo 27/04/2017, 15:40
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

ya lo he solucionado, he puesto el campo ID en al tabla, quitandolo del hidden, ya si rellena el campo con el ID, y ya si se puede modificar todo, excepto el ID, el campo ID lo tenia oculto por seguridad para evitar el error 1024 de mysql, de primary key.

adjunto código bueno, por si puede servir de ayuda.

Código:
if ($result -> num_rows > 0){
		while($fila = $result -> fetch_row()){
			echo "<center>";
			echo "<br/>";
			echo "<br/>";
			echo "<form action='' method='POST' target=inferior>";
			echo "<table width='355' border='1'>
					  <tr>
						<td>ID:</td>
						<td>
							<input type='text' name='idCliente' value='$fila[0]'/>
						</td>
					  </tr>
					  <tr>
						<td>Nombre: </td>
						<td><input type='text' name='nombre' value='$fila[1]'/></td>
					  </tr>
					  <tr>
						<td>Primer Apellido:</td>
						<td>
							<input type='text' name='Apellido1' value='$fila[2]'/>
						</td>
					  </tr>
					  <tr>
						<td>Segundo Apellido:</td>
						<td>
							<input type='text' name='Apellido2' value='$fila[3]'/>
						</td>
					  </tr>
					  <tr>
						<td>DNI:</td>
						<td>
							<input type='text' name='dni' value='$fila[4]'/>
						</td>
					  </tr>
					  <tr>
						<td>Fecha de Nacimiento:</td>
						<td>
							<input type='date' name='fechaNacimiento' value='$fila[5]'/>
						</td>
					  </tr>
					  <tr>
						<td>Fecha de Alta:</td>
						<td>
							<input type='date' name='fechaAlta' value='$fila[6]'/>
						</td>
					  </tr>
					  <tr>
						<td>Fecha de Baja:</td>
						<td>
							<input type='date' name='fechaBaja' value='$fila[7]'/>
						</td>
					  </tr>
					  <tr>
						<td>Población:</td>
						<td>
							<input type='text' name='poblacion' value='$fila[8]'/>
						</td>
					  </tr>
					  <tr>
						<td>Direccion:</td>
						<td>
							<input type='text' name='direccion' value='$fila[9]'/>
						</td>
					  </tr>
					  <tr>
						<td>Código Postal:</td>
						<td>
							<input type='number' name='codigoPostal' value='$fila[10]'/>
						</td>
					  </tr>
					  <tr>
						<td>Provincia:</td>
						<td>
							<input type='text' name='provincia' value='$fila[11]'/>
						</td>
					  </tr>
					  <tr>
						<td>Teléfono Fijo:</td>
						<td>
							<input type='number' name='telefonoFijo' value='$fila[12]'/>
						</td>
					  </tr>
					  <tr>
						<td>Teléfono Móvil:</td>
						<td>
							<input type='number' name='telefonoMovil' value='$fila[13]'/>
						</td>
					  </tr>
					  <tr>
						<td>Nombre del Tutor:</td>
						<td>
							<input type='text' name='nombreTutor' value='$fila[14]'/>
						</td>
					  </tr>
					  <tr>
						<td>Teléfono del responsable:</td>
						<td>
							<input type='number' name='telefonoResponsable' value='$fila[15]'/>
						</td>
					  </tr>
					</table>";
				}
				echo "<br/>";
				//echo"<input type='text' name='idCliente' value='$fila[0]'/>";
				echo "<input type='submit' name='accion' value='Modificar'/>";
				echo "</form>";
			echo "</center>";
		}else{
			echo "No existe el Cliente $idCliente";
		}
	}
	
	if (isset($_POST['accion'])){
		$idCliente = $_POST['idCliente'];
		$nombre = $_POST['nombre'];
		$apellido1 = $_POST['Apellido1'];
		$apellido2 = $_POST['Apellido2'];
		$dni = $_POST['dni'];
		$fechaNacimiento = $_POST['fechaNacimiento'];
		$fechaAlta = $_POST['fechaAlta'];
		$fechaBaja = $_POST['fechaBaja'];
		$poblacion = $_POST['poblacion'];
		$direccion = $_POST['direccion'];
		$codigoPostal = $_POST['codigoPostal'];
		$provincia = $_POST['provincia'];
		$telefonoFijo = $_POST['telefonoFijo'];
		$telefonoMovil = $_POST['telefonoMovil'];
		$nombreTutor = $_POST['nombreTutor'];
		$telefonoResponsable = $_POST['telefonoResponsable'];
		
		$query = ("UPDATE pacientes SET  nombre = '".$nombre."', Apellido1 = '".$_POST['Apellido1']."', Apellido2 = '".$_POST['Apellido2']."',
						dni = '".$_POST['dni']."', fechaNacimiento = '".$_POST['fechaNacimiento']."', fechaAlta = '".$_POST['fechaAlta']."', fechaBaja = '".$_POST['fechaBaja']."',
						poblacion = '".$_POST['poblacion']."', direccion = '".$_POST['direccion']."', codigoPostal = '".$_POST['codigoPostal']."', provincia = '".$_POST['provincia']."',
						telefonoFijo = '".$_POST['telefonoFijo']."', telefonoMovil = '".$_POST['telefonoMovil']."', nombreTutor = '".$_POST['nombreTutor']."', telefonoResponsable = '".$_POST['telefonoResponsable']."'
						where id = '".$idCliente."'");
						
		$result = $mysqli -> query($query);
  #34 (permalink)  
Antiguo 27/04/2017, 15:42
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

gracias por tu ayuda Libras

un saludo, agradezco mucho que exista esta comunidad de programadores y que ayuden de esta manera.
  #35 (permalink)  
Antiguo 28/04/2017, 14:31
 
Fecha de Ingreso: noviembre-2014
Ubicación: peru-lima
Mensajes: 32
Antigüedad: 9 años, 5 meses
Puntos: 2
Respuesta: Problema con UPDATE con php y mysqli

como obtienes el id...
con este código tienes que poner en la caja el id.

si quieres que "Actualizado" se vea abajo del formulario.

formulario.html

<form method = "POST">
.............
</form>
<?php
if(isset($_POST['btnBoton'])){
include('actualizar.php');
}
?>

------------------------------------------------------------------

actualizar.php

<?php

$cn = new mysqli("localhost","root","","l");

$id = $_POST['txtId'];
$nombre = $_POST['txtNom'];
$apellido1= $_POST['txtApe1'];

$query = "update pacientes set nombre = '$nombre', apellido1 = '$apellido1' where id = $id";
$cn->query($query);

if($cn->affected_rows>0){
echo "Actualizado <br>";
echo $id." - ".$nombre." - ".$apellido1;
}
else{
echo "No actualizado";
}
$cn->close();

?>

Etiquetas: correcto, fecha, mysql, mysqli, sql, tabla, 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 19:32.