OK por ejemplo para $article_id = 2 y $author_id = 513
primer query resultados
6 - 2 - 513 - 3
$previous_id = 5 porke es diferente de 1 y lo restas 6 - 1
segundo query buscas igual a 5 y 2
$previous_record = 5 -2 - 13696 - 1
no entra en el if porke $previous_record no esta vacio
busca de nuevo con valor 5 y 2 el $article_id este query puedes ponerlo dentro del if y asi evitar buscar nuevamente por el mismo valor.
$previous_order = 3 (primer query)
$actual_order = 1 (segundo query)
entra en el if porke $previous_record no esta vacio
cambia el valor de ORDER_AUTORES a 3 para el ID_ARTICULO_AUTOR = 5
y el ultimo update te actualiza tu tabla con la columna ORDEN_AUTORES = 1 donde el ID_AUTOR = 513 y el ID_ARTICULO = 2
o sea ke comenzo tu script con seleccionando este row
Código:
+-------------------+-------------+----------+---------------+
| ID_ARTICULO_AUTOR | ID_ARTICULO | ID_AUTOR | ORDEN_AUTORES |
+-------------------+-------------+----------+---------------+
| 6 | 2 | 513 | 3 |
+-------------------+-------------+----------+---------------+
y termino upgradeando
Código:
+-------------------+-------------+----------+---------------+
| ID_ARTICULO_AUTOR | ID_ARTICULO | ID_AUTOR | ORDEN_AUTORES |
+-------------------+-------------+----------+---------------+
| 5 | 2 | 13696 | 3 |
| 6 | 2 | 513 | 1 |
+-------------------+-------------+----------+---------------+
creo ke esto es lo ke hace tu script o no ??
me parece ke debes cambiar la logica con ke tratas los datos y consulta para ke puedas manipular bien los datos en tu base de datos si e ske no estas logrando lo ke kieres