Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/11/2011, 08:50
Avatar de truman_truman
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