Nueva pregunta

Pregunta:

Fecha: 28-12-2018 07:34:22 (En Español)

¿Entrada más reciente y más antigua?[No resuelta]

Hola amigos,
Quisiera saber como haría saltos de página de blog, a las más reciente y a la más antigua.
Yo lo hago de la siguiente manera.
<?
	$anterior_resta = $blog_info["id"] - 1;
	$siguiente_suma = $blog_info["id"] + 1;
	echo "<div class='order_post'>";

	$siguiente_sql = mysqli_query($_construct, "SELECT id, title, url FROM blog WHERE id='{$siguiente_suma}' AND active='2'") or die(mysqli_error($_construct));
	if(mysqli_num_rows($siguiente_sql) || $blog_info["id"] > $siguiente_suma){
		$siguiente_result = mysqli_fetch_array($siguiente_sql);
		echo '<a class="cursos_pag siguiente" href="'.$url.'/blog/'.$siguiente_result["url"].'.html"><i class="fa fa-angle-left icono_flechas"></i> '.$siguiente_result["title"].'</a>';
	}else{
		echo '<a class="cursos_pag siguiente" href="'.$url.'/blog.html"><i class="fa fa-angle-left icono_flechas"></i> Ir al blog</a>';
	}

	if($anterior_resta <= 0){
		echo '<a class="cursos_pag anterior" href="'.$url.'/blog.html">Ir al blog <i class="fa fa-angle-right icono_flechas"></i></a>';
	}else{
		$anterior_sql = mysqli_query($_construct, "SELECT id, title, url FROM blog WHERE id='{$anterior_resta}' AND active='2'") or die(mysqli_error($_construct));
		if(mysqli_num_rows($anterior_sql)){
			$anterior_result = mysqli_fetch_array($anterior_sql);
			echo '<a class="cursos_pag anterior" href="'.$url.'/blog/'.$anterior_result["url"].'.html">'.$anterior_result["title"].' <i class="fa fa-angle-right icono_flechas"></i></a>';
		}
	}
	echo "</div>";
?>

Pero al tener ya sea un registro oculto o simplemente eliminado se rompe la cadena, y no se como realizar esta acción.
Saludos
Etiquetas: Base de Datos - Desarrollo - HTML - MySQL - MySQL Desarrollo - PHP - PHP MySQLi - Pregunta - SQL Votos: 0 - Respuestas: 1 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 28-12-2018 19:34:54 Podrías utilizar el limit de mysql para ello y el ordenamiento por la clave, por ejemplo:

    
    $q = $this->db->query("SELECT * FROM tabla ORDER BY id ASC LIMIT 1,2");
    
    


    Allí le digo que me traiga solo un registro por debajo de la id 2, en todo caso traerá el registro numero 3 o el que siga si este no existe, y para obtener el registro 1, simplemente cambio el ASC por DESC.

    En resumen:

    ORDER BY TuClave ASC LIMIT Cantidad_a_Traer , Clave_donde_inicia

    Prueba y dinos si te resultó.
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com