Foros del Web » Programando para Internet » PHP »

UPDATE erróneo

Estas en el tema de UPDATE erróneo en el foro de PHP en Foros del Web. ¿Qué tal comunidad? Nuevamente planteando mis dudas. Esta comienza así; tengo este script que me trae un registro: Código PHP: if (isset( $_POST ) && !empty( $_POST )) { ...
  #1 (permalink)  
Antiguo 28/06/2014, 16:54
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 11 años, 11 meses
Puntos: 0
UPDATE erróneo

¿Qué tal comunidad? Nuevamente planteando mis dudas.

Esta comienza así; tengo este script que me trae un registro:

Código PHP:
if (isset($_POST) && !empty($_POST)) {
    
$Response = array(
        
'result'  => false,
        
'mensaje' => 'No fue posible ejecutar la petición',
        
'datos'   => ''
    
);
    include(
'../dbConn.inc.php');
    include(
'../includes/functions.inc.php');
    if (
$errorDbConexion == false) {
        if (isset(
$_POST['action'])) {
            if (
$_POST['action'] == 'EditUser' && $_POST['id_user'] != '') {
                if (
$datosRegFuncion EditUser($mysqli$_POST['id_user'])) {
                    
$Response['result'] = true;
                    
$Response['datos']  = $datosRegFuncion;
                } else {
                    
$Response['mensaje'] = 'No se encontró el registro';
                }
            } else {
                
$Response['mensaje'] = 'Acción no definida';
            }
        } else {
            
$Response['mensaje'] = 'Variable accion no declarada';
        }
    } else {
        
$Response['mensaje'] = 'No se puede conectar con la Base de Datos';
    }
    echo 
json_encode($Response);
} else {
    echo 
"No se puede ejecutar el script";

La función que manejo es esta:
Código PHP:
function EditUser($dblink$id_user) {
    
$DatosRegistro false;
    
$query         sprintf("SELECT * FROM users WHERE id = %d LIMIT 1"$id_user);
    
$Respuesta     $dblink -> query($query);
    if (
$Respuesta -> num_rows != 0) {
        
$DatosRegistro $Respuesta -> fetch_assoc();
    }
    return 
$DatosRegistro;

Y dentro de esa función, sé que tengo qué hacer la edición con este query:
Código PHP:
$query sprintf("UPDATE users SET name = '%s', lastname = '%s', rank = '%s', admin = '%s', status = '%s', img = '%s'
        WHERE id = %d LIMIT 1"
,
        
$_POST['editUserName'],
        
$_POST['editUserLastname'],
        
$_POST['editUserRank'],
        
$_POST['editUserAdmin'],
        
$_POST['editUserStat'],
        
$_POST['editUserImg']);

$resutadoQuery $dblink -> query($query); 
Mi principal problema radica en que no sé cómo aplicar el query para que me haga la edición al llamar a la función.

Espero ser claro. Saludos.
  #2 (permalink)  
Antiguo 28/06/2014, 17:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: UPDATE erróneo

Cita:
Mi principal problema radica en que no sé cómo aplicar el query para que me haga la edición al llamar a la función.
Pues mi principal problema radica en que no entiendo a qué te refieres con "editar".
Eso es un UPDATE en SQL a ejecutar en la base de datos. ¿Qué es lo que quieres hacer y en qué momento del proceso lo llamas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 28/06/2014, 17:38
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: UPDATE erróneo

Bien, lo mando a llamar mediante ajax:
Código Javascript:
Ver original
  1. $(function(){
  2.     $('body').on('click', '#ListaDeUsuarios a', function(event) {
  3.         event.preventDefault();
  4.         var id_user = $(this).attr('data-editUser');
  5.         $.ajax({
  6.             url: 'private/ajax/editUser.inc.php',
  7.             type: 'POST',
  8.             dataType: 'json',
  9.             data: 'action=EditUser&id_user=' + id_user,
  10.             cache: false
  11.         })
  12.         .done(function(response) {
  13.             if (response.result == true) {
  14.                 $('#editUserName').val(response.datos.name);
  15.                 $('#editUserLastname').val(response.datos.lastname);
  16.                 $('#editUserRank').val(response.datos.rank);
  17.                 $('#editUserAdmin').val(response.datos.admin);
  18.                 $('#editUserStat').val(response.datos.status);
  19.                 $('#editUserImg').val(response.datos.img);
  20.                 $('#modalEditUser').modal('show');
  21.             } else {
  22.                 alert(response.mensaje);
  23.             }
  24.         })
  25.         .fail(function() {
  26.             alert('Error general del sistema, recargue e intente de nuevo')
  27.         });
  28.     });
  29. });

Y quiero que haga el UPDATE al llenar los campos de este formulario (que es el que se activa en la modal):
Código HTML:
<div class="modal fade" id="modalEditUser" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
		<div class="modal-dialog modal-sm">
			<div class="modal-content">
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
					<h4 class="modal-title" id="myModalLabel">Edición de usuario</h4>
				</div>
				<div class="modal-body">
					<form id="formEditUser" role="form" action="#" method="POST">
						<div class="form-group">
							<label for="editUserName">Nombre</label>
							<input type="text" name="editUserName" id="editUserName" class="form-control" placeHolder="Nombre a editar">
						</div>
						<div class="form-group">
							<label for="editUserLastname">Apellido</label>
							<input type="text" name="editUserLastname" id="editUserLastname" class="form-control" placeHolder="Apellido a editar">
						</div>
						<div class="form-group">
							<label for="editUserRank">Rango</label>
							<select name="editUserRank" id="editUserRank" class="form-control">
								<option value="0">Nuevo</option>
								<option value="1">Novato</option>
								<option value="2">Compañero</option>
								<option value="3">Maestro</option>
							</select>
						</div>
						<div class="form-group">
							<label for="editUserAdmin">Administrador</label>
							<select name="editUserAdmin" id="editUserAdmin" class="form-control">
								<option value="0">No</option>
								<option value="1"></option>
							</select>
						</div>
						<div class="form-group">
							<label for="editUserStat">Estatus</label>
							<select name="editUserStat" id="editUserStat" class="form-control">
								<option value="0">Inactivo</option>
								<option value="1">Activo</option>
							</select>
						</div>
						<div class="form-group">
							<label for="editUserImg">Fotografía</label>
							<input type="url" name="editUserImg" id="editUserImg" class="form-control" placeHolder="URL directo de la foto">
						</div>
				</div>
				<div class="modal-footer">
						<button type="button" data-dismiss="modal">Cerrar</button>
						<input type="submit" class="primary" value="Actualizar">
					</form>
				</div>
			</div>
		</div>
	</div>
</div> 
Ya me extrae los datos, pero no sé cómo ejecutar el query para que me haga la edición al cambiar algo de la información extraída.

¿Me di a entender?

Etiquetas: registro, select, sql, update, variable
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 22:17.