Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/01/2017, 12:13
Avatar de Euclides64
Euclides64
 
Fecha de Ingreso: octubre-2010
Mensajes: 79
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Consulta mysqli de modificación

Hola, sigo con el asunto.
He probado a efectuar la consulta de modificación con solo el while y con del do while y el resultado es el mismo, cambia todos los registros con el número correspondiente al ultimo ciclo del bucle.
Se me ocurrió limitar el número de registros que pueden cambiarse tal que:

Código PHP:
$consulta="UPDATE lineas_fact SET numero_linea=".$a." WHERE num_fact='$num_fact' LIMIT $a,1"
Pensaba que de esta forma solo cambiaria un solo registro en cada pase del bucle que coincidiria con el registro que me interesa que cambia (LIMIT $a,1).
Falsa esperanza, parece ser que la sentencia UPDATE no acepta el LIMIT o al menos a mi no me lo acepta tal y conforme implemento.
Seguidamente pongo la respuesta que me da:
Cita:
Array
(
[id] => 73
[created_at] => 2017-01-20 19:01:18
[id_fact] => 0
[num_fact] => 9/2017
[numero_linea] => 4
[concepto] => Limpieza suelos
[cantidad] => 0
[importe] => 0
[total] => 85.2
)

UPDATE lineas_fact SET numero_linea=1 WHERE num_fact='9/2017' LIMIT 1,1
UPDATE lineas_fact SET numero_linea=2 WHERE num_fact='9/2017' LIMIT 2,1
Parece que debiera de funcionar pero lo cierto y verdad es que no da error pero tampoco efectua el cambio dejando los números de línea en los mismos que tenia antes de lanzar el código.
¿Realmente la sentencia UPDATE no acepta el LIMIT? y si lo acepta ¿Que parde de la sintaxi estoy poniendo mal?
De antemano agradezco las respuestas.
Saludos.