Actualizar datos de un registro php mysql

Quiero actualizar datos de varios registros en un formulario a mi base de datos, explico un poco mi código y al final la duda...

Tengo este código donde obtengo datos de tres tablas y los muestro...

index.php

$sql = 'SELECT rg.*, re.*, co.* FROM registro rg 
                INNER JOIN responsablepac re ON rg.noexpint = re.noexpint
                INNER JOIN consultas co ON re.noexpint = co.noexpint
                WHERE co.status = 0 ORDER BY co.hora DESC';
<td><center><a href="searchexp.php?id=<?php echo $row['noexpint']; ?>"><?php echo $row['norecibo']; ?></a></center></td>

al dar click en cada registro me manda a searchexp.php mostrando los campos de las tres tablas

Aqui obtengo el id y hago una consulta en las tres tablas

searchexp.php

    $result = "";
    $row = null;
    $conn = dbConnect();
if (isset($_GET['id'])) {
$sql = 'SELECT rg.*, re.*, co.* FROM registro rg 
                INNER JOIN responsablepac re ON rg.noexpint = re.noexpint
                INNER JOIN consultas co ON re.noexpint = co.noexpint
                WHERE rg.noexpint = ?';
        $stmt = $conn->prepare($sql);
        $results = $stmt->execute(array($_GET['id']));
        $row = $stmt->fetch();
        if (empty($row)) {
            $result = "No se encontraron resultados !!";
        }
    }

Dentro de este tengo un formulario que me muestra datos de la consulta de arriba en inputs disabled y mas abajo con inputs los cuales están en blanco para capturar datos y actualizar en la bd

<form action="actualizar.php" method="post">
            <input value="<?php echo $row['noexpint'];?>" name="no" type="hidden"  style="width: 22px;">
            <input disabled="disabled" value="PROC: <?php echo $row['procedencia'];?>" type="text" name="procedencia" style="width: 220px;">
            <input disabled="disabled" value="FOL: <?php echo $row['folio'];?>" type="text" name="folio"  style="width: 110px;">
            <input disabled="disabled" value="REC: <?php echo $row['norecibo'];?>" type="text" name="norecibo" style="width: 110px;">
            <input name="ta" type="text" onKeyUp="this.value=this.value.toUpperCase();" placeholder="T / A" style="width: 151px;">
            <input name="temp" type="text" onKeyUp="this.value=this.value.toUpperCase();" placeholder="TEMP" style="width: 151px;">

hasta aqui me va de maravilla...........

El detalle es cuando le doy al boton actualizar, me manda el mensaje de datos cargados correctamente pero no me actualiza el registro... Mi codigo es el sig

actualizar.php

$noexpint = trim($_POST['noexpint']);
$ta = trim($_POST['ta']);
$temp = trim($_POST['temp']);
$query = "UPDATE consultas SET ta='$ta', temp='$temp' WHERE noexpint = '$noexpint'"; 
echo " <p>Los datos han sido actualizados con exito.</p>"; 
1

1 Respuesta

13.075 pts. El aprendizaje es interminable.

¿Ya intentaste agregando la línea de ejecución?
$ejecutado = mysql_query($query,$conn); /*esta linea ejecuta la sentencia sql que has escrito*/

if($ejecutado){

echo "<script>alert('Registro actualizado correctamente');</script>";

}

Hola buen día, muchas gracias por tu respuesta, acomode tu ayuda de la siguiente manera

$query = "UPDATE consultas SET ta='$ta', temp='$temp' WHERE noexpint = '$noexpint'"; $ejecutado = mysql_query($query,$db); /*esta linea ejecuta la sentencia sql que has escrito*/if($ejecutado){echo "<script>alert('Registro actualizado correctamente');</script>";}

no me actualiza los datos, y me marca lo siguiente

la linea 74 es

$ejecutado = mysql_query($query,$db); /*esta linea ejecuta la sentencia sql que has escrito*/

que esta mal o que estoy haciendo mal, de antemano muchas gracias

Saludos

Si, esa instrucción es obsoleta en php desde su versión 5 (te pido perdón por ello) la nueva instrucción a usar es: mysqli_query

$ejecutado = mysqli_query($conn,$query); /*esta linea ejecuta la sentencia sql que has escrito*/

Ahora recuerda $query es la consulta que quieres ejecutar y $conn es la variable donde guardaste la conexiona la base de datos que has creado con anticipación

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas