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. Hola, tengo un problema con mi UPDATE en pho y mysqli, en mi código no tengo errores sintácticos, pero si hay alguno lógico que no ...

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

Hola, tengo un problema con mi UPDATE en pho y mysqli, en mi código no tengo errores sintácticos, pero si hay alguno lógico que no me permite hacer UPDATE de mi tabla. el $result directamente me devuelve el else... os adjunto el código y ya os haréis una idea de como va el formulario y todo... Gracias de antemano.

Código PHP:
if (isset($_POST['accion'])){
        
$id $_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 = '".$_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']."' 
where id = '"
.$_POST['idCliente']."'";
                        
        
$result $mysqli -> query($query);
        echo 
"$nombre";
        echo 
"$provincia";
        echo 
"$id";
                
        if(
$result){  
            echo 
"<center><h2>
                    Actualizado
                </h2></center>"
;  
        }else{  
            echo 
"<h2>
                    No Actualizado
                 </h2>"
;         
        } 
    }
 
    
$mysqli -> close(); 
he puesto algunos echo para poder ver si la variables van vacías, pero las que se recogen del formulario van con contenido, la que parece que va vacía es la idCliente, ya que es un campo oculto de mi formulario, para evitar errores, he comprobado el name y está correcto, si hago un echo de esa variable más arriba, devuelve su valor introducido en una lista desplegable... ya no se que más mirar, ni que hacer... os adjunto código del formulario.

Código HTML:
if ($result -> num_rows > 0){
		while($fila = $result -> fetch_row()){
			echo "<br><br><form action='modificacion.php' method='POST' target=inferior>";
			echo "<center>";
			echo "<table width='355' border='1'>
					  <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='hidden' name='idCliente' value='$fila[0]'/>";
				echo "<input type='submit' name='accion' value='Modificar'/>";
			echo "</center>";	
		}else{
			echo "No existe el Cliente '$id";
		}
	}
anoche estuve hasta las 3:30 de la madrugada y no conseguí ver el problema... por eso ya pido ayuda.

un saludo y gracias de antemano.
  #2 (permalink)  
Antiguo 27/04/2017, 10:35
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

ya imprimiste el update que estas tratando de hacer? imprimelo y correlo en mysql directamente,.
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 27/04/2017, 10:39
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

eso no he probado a hacerlo, voy a ello
  #4 (permalink)  
Antiguo 27/04/2017, 10:43
 
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 ver que en la lína del teléfono fijo había una ' de más... ahora me salta el mensaje de actualizado, pero no se ha actualizado nada...
  #5 (permalink)  
Antiguo 27/04/2017, 10:46
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

la consulta está correcta, ya que he podido modificar todos los datos de mi paciente.... pero porque con php no¿???
  #6 (permalink)  
Antiguo 27/04/2017, 10:46
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

Y cual es tu query?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 27/04/2017, 10:49
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

Código:
$query = ("UPDATE pacientes SET 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']."'
						where id = '".$_POST['idCliente']."'");
  #8 (permalink)  
Antiguo 27/04/2017, 10:50
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

esa consulta en phpmyadmin funciona correctamente, quitando obviamente los $_POST
  #9 (permalink)  
Antiguo 27/04/2017, 10:57
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

salta el mensaje de actualizado, le he hecho mysqli_num_rows y me devuelve 1 de las filas afectadas... pero no se ha modificado en la BD
  #10 (permalink)  
Antiguo 27/04/2017, 11:00
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

Que valores tienes en la base de datos? supongo que estas usando el mismo query varias veces, si es asi cambia un parametro y verifica si se hizo el update ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #11 (permalink)  
Antiguo 27/04/2017, 11:01
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

estoy probando a modificar distintos valores y nada... no se a que te refieres a que uso la consulta varias veces... he puesto exactamente el código que tengo en mi archivo
  #12 (permalink)  
Antiguo 27/04/2017, 11:05
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

Si, en que usas los mismos valores al modificar la consulta, ahora podrias poner cual es el query(el que se manda a la base de datos) para ver si lo esta haciendo, otra cosa como estas revisando si se hace el update?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #13 (permalink)  
Antiguo 27/04/2017, 11:14
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

Código:
$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 = '".$_POST['idCliente']."'");
esa es la consulta que se manda a la bd, y la modificaciónd e los datos que estoy haciendo son por otros. y para comprobar si la consulta funciona bien, lo hago de esta manera

Código:
$result = $mysqli -> query($query);
  #14 (permalink)  
Antiguo 27/04/2017, 11:18
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

Este.......me gustaria ver el query(que imprimas la cadena), como lo revisas me refiero a si estas haciendo un select * from tabla where id=id_del_update, y que revises desde la base de datos(en el backend) no desde el frontend
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #15 (permalink)  
Antiguo 27/04/2017, 12:13
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

perdona mi ignorancia, pero no entiendo nada de lo que me estás pidiendo
  #16 (permalink)  
Antiguo 27/04/2017, 13:48
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

Sip esto:

Código PHP:
Ver original
  1. $query = "UPDATE pacientes SET nombre = '".$_POST['nombre']."', Apellido1 = '".$_POST['Apellido1']."', Apellido2 = '".$_POST['Apellido2']."',
  2.                        dni = '".$_POST['dni']."', fechaNacimiento = '".$_POST['fechaNacimiento']."', fechaAlta = '".$_POST['fechaAlta']."', fechaBaja = '".$_POST['fechaBaja']."',
  3.                        poblacion = '".$_POST['poblacion']."', direccion = '".$_POST['direccion']."', codigoPostal = '".$_POST['codigoPostal']."', provincia = '".$_POST['provincia']."',
  4.                        telefonoFijo = ''".$_POST['telefonoFijo']."', telefonoMovil = '".$_POST['telefonoMovil']."', nombreTutor = '".$_POST['nombreTutor']."', telefonoResponsable = '".$_POST['telefonoResponsable']."'  
  5. where id = '".$_POST['idCliente']."'";

Se guarda en la variable $query, y si imprimes esa variable que es lo que trae?

Segundo para verificar si se esta haciendo el update, como lo revisas? corres un query sobre la base de datos(un select a la tabla pacientes)?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #17 (permalink)  
Antiguo 27/04/2017, 14:11
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

Código:
UPDATE pacientes SET nombre = 'asdasd', Apellido1 = 'serrano', Apellido2 = 'alonso', dni = '45921676z', fechaNacimiento = '1993-05-31', fechaAlta = '2017-04-27', fechaBaja = '2017-04-28', poblacion = 'purullena', direccion = 'Avda.Andalucia n�4',
 codigoPostal = '18519', provincia = 'Granada', telefonoFijo = '958690211', telefonoMovil = '652138927', nombreTutor = 'pepe',
 telefonoResponsable = '652138927' where id = ''
y para ver el contenido de la tabla de la base de datos, hago un select * sobre pacientes
  #18 (permalink)  
Antiguo 27/04/2017, 14:16
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

Si ejecutas esto en tu base de datos:

Código MySQL:
Ver original
  1. UPDATE pacientes SET nombre = 'asdasd', Apellido1 = 'serrano', Apellido2 = 'alonso', dni = '45921676z', fechaNacimiento = '1993-05-31', fechaAlta = '2017-04-27', fechaBaja = '2017-04-28', poblacion = 'purullena', direccion = 'Avda.Andalucia n�4',
  2.  codigoPostal = '18519', provincia = 'Granada', telefonoFijo = '958690211', telefonoMovil = '652138927', nombreTutor = 'pepe',
  3.  telefonoResponsable = '652138927' where id = ''

Que regresa?

En ese query se ve que el where no tiene una condicion a menos que tengas un campo con un id vacio, porque dices que no se refresca? cuantos regsitros tienes?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #19 (permalink)  
Antiguo 27/04/2017, 14:18
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

0 filas afectadas. (La consulta tardó 0.0004 segundos.)

parece que no recoge la id...estoy probando como loco a ver los names del formulario pero no veo el fallo
  #20 (permalink)  
Antiguo 27/04/2017, 14:20
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

Código:
<!DOCTYPE html>
<html lang="es"> 
	<head> 
		<meta charset="UTF-8" > 
		<title>Modificacion de Pacientes</title>
		<meta http-equiv="content-type" content="text/html; charset=utf8">
		<link rel="stylesheet" type="text/css" href="../css/estilo.css" />
	</head>
	<body>
	<center>
	<br/>	
		  <p>          
      <p>
      <table width="463" height="90" border="0">
              <tr>
                <td width="193" height="58">
                    <form action="modificacion.php" method="post" target="inferior">
                      <strong>Codigo del paciente:</strong>
                      <select name="idCliente" id="lista">
                        <?php
							include("conexion.php");
							$sql = "select * from pacientes";
							$result = $mysqli -> query($sql);
							  $i=0;
							while ($fila = $result -> fetch_row()){
								echo "<option value=".$fila[$i].">".$fila[$i]."</option>\n";
							}
						?>
                      </select>
                  
                </td>
                    <td width="246">
                        <input type="submit" name="modificar" value="Visualizar datos a modificar">
						</form>
                    </td>
                <td width="10"></td>
              </tr>
              <tr>
                <td>
                     <form action="pacientes.php" method="post" target="inferior">
                      <input type="submit" name="verPacientes" value="Ver Pacientes" />
                    </form>
                </td>
              </tr>
        </table>
	</center>
	</body>
</html>
este es el formulario
  #21 (permalink)  
Antiguo 27/04/2017, 14:22
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

Código:
?php 
	/*BLOQUE DE CONEXIÓN*/
$mysqli = mysqli_connect("......", "........", "", "..........."); 
	
	if(mysqli_connect_errno()){
		echo 'Conexion Fallida : ', mysqli_connect_error();
		exit();
	}
?>	

<?php

	$id = $_POST['idCliente'];

/*HACEMOS LA CONSULTA PARA MOSTRAR LOS DATOS*/


if (isset($_POST['modificar'])){
		$sql = "SELECT * FROM pacientes WHERE id = '$id'"; 
		$result = $mysqli -> query($sql);
		if ($result -> num_rows == 0){
			echo "ERROR: No existe el paciente $id";
			exit();
		}
	if ($result -> num_rows > 0){
		while($fila = $result -> fetch_row()){
			echo "<br><br><form action='modificacion.php' method='POST' target=inferior>";
			echo "<center>";
			echo "<table width='355' border='1'>
					  <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='hidden' name='idCliente' value='$fila[0]'/>";
				echo "<input type='submit' name='accion' value='Modificar'/>";
			echo "</center>";	
		}else{
			echo "No existe el Cliente '$id";
		}
	}
	if (isset($_POST['accion'])){
		$id = $_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 = (int)$_POST['codigoPostal'];
		$provincia = $_POST['provincia'];
		$telefonoFijo = $_POST['telefonoFijo'];
		$telefonoMovil = $_POST['telefonoMovil'];
		$nombreTutor = $_POST['nombreTutor'];
		$telefonoResponsable = (int)$_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 = $id");
						
		$result = $mysqli -> query($query);
		
		echo "$query";
este es el documento .php donde hago el update y muestro los datos para la modificación
  #22 (permalink)  
Antiguo 27/04/2017, 14:41
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

Para probar, en lugar de usar un campo hidden usa un campo de texto normal con el valor del ID(en el modificar.php) para ver si manda el valor
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 27/04/2017 a las 14:47
  #23 (permalink)  
Antiguo 27/04/2017, 14:46
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

si le llega el valor, se pone un 1 encima de la tabla para modificar... pero lo extraño que al imprimir la consulta... no llega el id...

es decir a partir de aquí id no tiene valor

Código:
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 id = '".$idCliente."', 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);
		
		echo "$idCliente";
		echo "$query";
en ese bloque de código ya no imprime el id y la consulta no recoge el id

pd: ya he modificado el select del formulario
  #24 (permalink)  
Antiguo 27/04/2017, 14:53
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

Cita:
Iniciado por daviserraalonso Ver Mensaje
Código:
?php 
	/*BLOQUE DE CONEXIÓN*/
$mysqli = mysqli_connect("......", "........", "", "..........."); 
	
	if(mysqli_connect_errno()){
		echo 'Conexion Fallida : ', mysqli_connect_error();
		exit();
	}
?>	

<?php

	$id = $_POST['idCliente'];

/*HACEMOS LA CONSULTA PARA MOSTRAR LOS DATOS*/


if (isset($_POST['modificar'])){
		$sql = "SELECT * FROM pacientes WHERE id = '$id'"; 
		$result = $mysqli -> query($sql);
		if ($result -> num_rows == 0){
			echo "ERROR: No existe el paciente $id";
			exit();
		}
	if ($result -> num_rows > 0){
		while($fila = $result -> fetch_row()){
			echo "<br><br><form action='modificacion.php' method='POST' target=inferior>";
			echo "<center>";
			echo "<table width='355' border='1'>
					  <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='hidden' name='idCliente' value='$fila[0]'/>";
				echo "<input type='submit' name='accion' value='Modificar'/>";
			echo "</center>";	
		}else{
			echo "No existe el Cliente '$id";
		}
	}
	if (isset($_POST['accion'])){
		$id = $_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 = (int)$_POST['codigoPostal'];
		$provincia = $_POST['provincia'];
		$telefonoFijo = $_POST['telefonoFijo'];
		$telefonoMovil = $_POST['telefonoMovil'];
		$nombreTutor = $_POST['nombreTutor'];
		$telefonoResponsable = (int)$_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 = $id");
						
		$result = $mysqli -> query($query);
		
		echo "$query";
en este codigo donde tienes el </form>???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #25 (permalink)  
Antiguo 27/04/2017, 14:56
 
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 Libras Ver Mensaje
en este codigo donde tienes el </form>???
no, en ese código esta solo el php. el formulario está en otro documento, html pero por POST le paso el name al $_post[''];
  #26 (permalink)  
Antiguo 27/04/2017, 14:57
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

Cita:
Iniciado por daviserraalonso Ver Mensaje
no, en ese código esta solo el php. el formulario está en otro documento, html pero por POST le paso el name al $_post[''];
Pero tienes esto:
Código PHP:
Ver original
  1. echo "<br><br><form action='modificacion.php' method='POST' target=inferior>";
Y no cierras ese form

Porque en ese documento armas un formulario, con los datos que traes, y lo mandas al mismo formulario, pero no estas cerrando todo el form
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #27 (permalink)  
Antiguo 27/04/2017, 15:03
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

ese formulario, lo que dibuja es una tabla para poder modificar los datos, en el otro formulario, es donde yo le paso el id para sacar los datos del paciente.
Código:
echo"<input type='hidden' name='idCliente' value='$fila[0]'/>";
con eso, debería de coger el id del paciente, y lo oculto para no modificarlo. el name de ese input es lo que le paso a la consulta para poder hacer el where y seleccionar el paciente.
  #28 (permalink)  
Antiguo 27/04/2017, 15:15
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

El id esta llegando a ese formulario, armas otro formulario

<form action='modificacion.php' method='POST' target=inferior>

Para poner los datos que estas sancado del query:

Código PHP:
Ver original
  1. if (isset($_POST['modificar'])){
  2.         $sql = "SELECT * FROM pacientes WHERE id = '$id'";
  3.         $result = $mysqli -> query($sql);
  4.         if ($result -> num_rows == 0){
  5.             echo "ERROR: No existe el paciente $id";
  6.             exit();
  7.         }

y todo eso va sobre el boton:

Código PHP:
Ver original
  1. echo "<br/>";
  2.                 echo"<input type='hidden' name='idCliente' value='$fila[0]'/>";
  3.                 echo "<input type='submit' name='accion' value='Modificar'/>";

Que lo que hace es lanzar ese "min formulario" donde tienes los datos y volver a cargar la pagina modificacion.php, pero tienes esto:

Código PHP:
Ver original
  1. if (isset($_POST['accion'])){
  2.         $id = $_POST['idCliente'];

si se presiono el boton modificar, al cargar de nuevo la pagina el post trae el valor "accion" y ahi es donde no te llega el id(el primer formulario ya ni lo mandas llamar), aqui es donde te falta cerrar el </form> despues del Submit de modificar.

entiendes?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #29 (permalink)  
Antiguo 27/04/2017, 15:21
 
Fecha de Ingreso: diciembre-2015
Mensajes: 36
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con UPDATE con php y mysqli

si, lo he cerrado, he echo echos después de la consulta y no devulve nada, antes de la consulta y tampoco.. antes del isset y tampoco... estoy ya bloqueado...
  #30 (permalink)  
Antiguo 27/04/2017, 15:24
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con UPDATE con php y mysqli

ya probaste quitando el hidden al valor del id? prueba con sin eso, porque si recibes los demas valores vdd?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

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 07:18.