Foros del Web » Programando para Internet » PHP »

Obtener id anterior y posterior con php y mysql

Estas en el tema de Obtener id anterior y posterior con php y mysql en el foro de PHP en Foros del Web. saludos: mediante un parametro ID pasado por url, se hace una consulta para recuperar el resto de datos de un base mysql, lo que necesito ...
  #1 (permalink)  
Antiguo 24/11/2011, 08:03
Avatar de predacom  
Fecha de Ingreso: agosto-2003
Ubicación: arequipa-peru
Mensajes: 37
Antigüedad: 20 años, 8 meses
Puntos: 2
Obtener id anterior y posterior con php y mysql

saludos:
mediante un parametro ID pasado por url, se hace una consulta para recuperar el resto de datos de un base mysql, lo que necesito es saber que ID esta antes y que ID esta despues (los id son registro unicos)

por ejemplo se la pasa un ID 10, me gustaria saber como obtengo la anterior y la posterior, agradeceria mucho vuestra respuesta, si para vosotros esto es basico, existen alguos kque recien nos iniciamos en el arte de la programación.
__________________
Predacom Design Studio
www.predacom.net
  #2 (permalink)  
Antiguo 24/11/2011, 08:07
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Obtener id anterior y posterior con php y mysql

Pues la verdad no entendi bien lo que quieres hacer, ademas no sabemos si los ID son consecutivos o tiene saltos.

Si son consecutivos basta con $anterior = $id - 1 y el que sigue seria $siguiente = $id + 1

Pero si los ID no son consecutivos tendrías que hacer una consulta para saber cual es el anterior y el siguiente.

Por favor danos mas datos para ayudarte.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 24/11/2011, 08:14
Avatar de predacom  
Fecha de Ingreso: agosto-2003
Ubicación: arequipa-peru
Mensajes: 37
Antigüedad: 20 años, 8 meses
Puntos: 2
Respuesta: Obtener id anterior y posterior con php y mysql

gracias jotaincubus, los id no son consecutivos, varian.
__________________
Predacom Design Studio
www.predacom.net
  #4 (permalink)  
Antiguo 24/11/2011, 08:16
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: Obtener id anterior y posterior con php y mysql

Mira este post a ver si te sirve de algo este post de forosdelweb:

Obtener id anterior y posterior
  #5 (permalink)  
Antiguo 24/11/2011, 08:50
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Obtener id anterior y posterior con php y mysql

No se si será la forma correcta, pero funciona


Código PHP:
function conectar()
{
    
mysql_connect("localhost""root""");
    
mysql_select_db("NOMBRE_DE_LA_BASE");
    
mysql_query("SET NAMES 'utf8'");
}

function 
desconectar()
{
    
mysql_close();
}




function 
datos()
{
    
$datos    =    array();
    
conectar();
    
$consulta=mysql_query("SELECT * FROM TU_TABLA; ");
    
desconectar();
    
    while(
$res mysql_fetch_assoc($consulta))
    {
        
$datos[]    =    $res;
    }
    return 
$datos;

}



function 
dame_E_lAnterior_Y_Siguiente_ID($id)
{
    
$datos            =    datos();
    
$cuantos_ID_hay    =    sizeof($datos);
    
    
$los_ID_aqui = array();//aca irán los 2 id
    
for($i=0;$i<$cuantos_ID_hay;$i++)
    {
        
        if(
$datos[$i]['id'] == $id)//si el id que buscamos es igual al actual
        
{    
            
//EL ANTERIOR
            
if($i == 0)//si $i es igual a 0 quiere decir que no hay anterior
            
{
                
$los_ID_aqui[] = 'NO';
                
            }else{
                
                
$los_ID_aqui[] = $datos[($i-1)]['id'];
                
            }
            

            
            
//EL SIGUIENTE
            
if(isset($datos[($i+1)]['id']))//si existe el próximo
            
{
                
                
$los_ID_aqui[] = $datos[($i+1)]['id'];//lo concatenamos
                
                
            
}else{
                
                
$los_ID_aqui[] = 'NO';//sino concatenamos 'NO'
                
            
}
        }
    }
    if(empty(
$los_ID_aqui))//si no hay ninguno de los 2
    
{
        
$los_ID_aqui[] = 'NO';
        
$los_ID_aqui[] = 'NO';
    }
    return 
$los_ID_aqui;
    
}

$id_en_cuestion 1223;
$los_ID_aqui dame_E_lAnterior_Y_Siguiente_ID($id_en_cuestion);//llamamos a la funcion

//imprimimos el array para ver que hay
echo '<pre>';
print_r($los_ID_aqui);
echo 
'</pre>';

//aquí los 2 id, si alguno no existe será 'NO'
echo $los_ID_aqui[0]; echo '<br />';
echo 
$los_ID_aqui[1]; 

PD: aguante Snake
__________________
la la la

Última edición por truman_truman; 24/11/2011 a las 09:01
  #6 (permalink)  
Antiguo 24/11/2011, 09:55
Avatar de predacom  
Fecha de Ingreso: agosto-2003
Ubicación: arequipa-peru
Mensajes: 37
Antigüedad: 20 años, 8 meses
Puntos: 2
Respuesta: Obtener id anterior y posterior con php y mysql

gracias brother, por la ayuda, veo con alegria que a diferencio de mis otro post, si hay personas con animo de ayudar
__________________
Predacom Design Studio
www.predacom.net
  #7 (permalink)  
Antiguo 24/11/2011, 10:00
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Obtener id anterior y posterior con php y mysql

Solo devuelvo lo recibido, aprendizaje. Saludos
__________________
la la la

Etiquetas: mysql, registro, anteriores
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 16:41.