> Faqs > Uso de un registro y el siguiente desde SQL usando PHP

Uso de un registro y el siguiente desde SQL usando PHP

Estoy usando un WHILE llamando a una BD en SQL, logro ver mis registros sin problema, lo que quiero saber es como puedo ver el registro actual y el siguiente dentro del mismo while para comparar si el uno es mayor al otro ? Gracias

Respuestas

Es cuestión de lógica en la resolución. En palabras:

Haz una sola lectura para el primer registro y sus campos los almacenas en variables.

Creas la rutina para la lectura de todos los registros del archivo con el While eof...

Dentro del while haz la comparación

if (variable == campo_registro){

  // desarrollas rutina de iguales
    
}else{
  
  // desarrolla rutina de diferentes
  // aqui guardas nuevamente en las variables los campos
  // del úlimo registro leído
  
}

Eso es todo.

Jose
14 2 2
Muchas gracias, si justamente eso se me había ocurrido, pero pensé que como en VFP había una opción como SKIP o algo parecido. De igual forma excelente su apoyo.

Una solución que te dispensaría de usar variables para albergar los datos del registro actual mientras que pasas al suguiente sería usar la el método fectchAll de PHP.

Este método te permite almacenar todos los datos en un array. Así luego haces el recorrido del array y simplemente compruebas los datos del índice i y del índice i+1.

$resultado = $consulta->fetchAll();
for($i = 0; $i < count($resultado); $i++) {
    if(count($resultado) > ($i + 1)) {
        // Esto lo hacemos solamente cuando hay un registro más en el array...
        if($resultado[$i]['nombre'] == $resultado[$i+1]['nombre']) {
            // Hacer algo porque la fila actual es igual a la siguiente...
        }
    }
}

No he probado el código. Es solamente para que lo tomes como orientación.

Sergio
343 10 30 13