Ahora este lo hice por si el usuario busca entre algunos articulos en especifico ejemplo: entre el registro 40 y 60, solo se mostraran esos registros
Código PHP:
<?php
include('php/conexion.php');
include('php/funciones.php');
//Evitamos injecciones SQL
$input_arr = array();
foreach ($_POST as $key => $input_arr)
{
$_POST[$key] = addslashes(limpiarCadena($input_arr));
}
$input_arr = array();
foreach ($_GET as $key => $input_arr)
{
$_GET[$key] = addslashes(limpiarCadena($input_arr));
}
//Asigno un valor NULL a las variables que en un futuro se ocuparan para no probocar un notice.
$criterio="";
$msg="";
$cantidad="";
//Creo un array que contendra los mensajes dependiendo el caso
$mensajes = array(
0=>"<em>Los campo ingresados no son numericos</em>",
1=>"<em>El campo inicial no es numerico <br/> Y ademas el campo final es mayor a 100</em>",
2=>"<em>El campo inicial no es numerico</em>",
3=>"<em>El el campo inicial es mayor a 100 <br/> Y ademas campo final no es numerico</em>",
4=>"<em>El campo final no es numerico</em>",
5=>"<em>Los dos campos son mayores a 100</em>",
6=>"<em>El campo inicial es mayor a 100</em>",
7=>"<em>El campo final es mayor a 100</em>",
8=>"<em>El campo final es menor al inicial</em>",
9=>"<em>Tu busqueda fue un exito estos son los campos</em>",);
/*SELECT *FROM `libros_cien` LIMIT 0 , 30*/
$consulta = "SELECT * FROM `libros_cien`".$criterio;
$ejecutar_consulta = $conexion->query($consulta);
/* $fila = $ejecutar_consulta->fetch_assoc(); */
$numero_registros = $ejecutar_consulta->num_rows;
if (isset($_GET['rango_btn'])) {
$inicia=$_GET['inicia_txt'];
$finaliza=$_GET['finaliza_txt'];
if (!is_numeric($inicia) && !is_numeric($finaliza)) {//Si los dos no son numericos.
$msg=$mensajes['0'];
} elseif (!is_numeric($inicia) && is_numeric($finaliza)) {//Si inicio no es numericos.
if ($finaliza>$numero_registros) {//El rango inicial no es numerico y ademas el campo final es mayor a 100.
$msg=$mensajes['1'];
}else {//El rango inicial no es numerico y finaliza es menor a 100.
$msg=$mensajes['2'];
}
} elseif (is_numeric($inicia) && !is_numeric($finaliza)) {//Si final no es numerico.
if ($inicia>$numero_registros) {//El rango final no es numerico y ademas el campo inicial es mayor a 100.
$msg=$mensajes['3'];
}else {//El rango final no es numerico y inicial es menor a 100.
$msg=$mensajes['4'];
}
} elseif (is_numeric($inicia) && is_numeric($finaliza)) {//Si los dos son numericos se verificaran mas cosas (un if dentro de este ifelse)
$inicia = round($inicia);//Redondeo inicia.
$finaliza = round($finaliza);//Redondeo finaliza.
if ($inicia>$numero_registros && $finaliza>$numero_registros) {//Si los dos son mayores ha 100.
$msg=$mensajes['5'];
} elseif ($inicia>$numero_registros && $finaliza<=$numero_registros) {//Si inicio es mayor y el final no es mayor a 100.
$msg=$mensajes['6'];
} elseif ($inicia<=$numero_registros && $finaliza>$numero_registros) {//Si final es mayor y el inicio no es mayor a 100.
$msg=$mensajes['7'];
} elseif ($inicia<=$numero_registros && $finaliza<=$numero_registros) {//Si los dos son menores a 100
if ($finaliza<$inicia) {//Si el campo final es menor al inicial
$msg=$mensajes['8'];
}else{// Todo esta bien, son numericos menores a 100, y finaliza es mayor a inicia.
$msg=$mensajes['9'];
$correr="si";
// $criterio= "WHERE column_name BETWEEN value1 AND value2;
$criterio=" WHERE `ID` BETWEEN ".$inicia. " AND " .$finaliza;
$consulta = "SELECT * FROM `libros_cien`".$criterio;
$ejecutar = $conexion->query($consulta);
$numero = $ejecutar->num_rows;
}
}
}
}
?>
<p>Numero total de libros: <em><?php echo $numero_registros ?></em></p>
<form id="rango-busqueda" name="rango_frm" action="rango.php" method="get" autocomplete="off" enctype="application/x-www-form-urlencoded">
<label for="inicia">Inicia en: </label>
<input type="text" id="inicia" name="inicia_txt" placeholder="Inidica donde inicia la busqueda" title="Inicia" required/>
<label for="finaliza">Finaliza en </label>
<input type="text" id="finaliza" name="finaliza_txt" placeholder="Indica donde finaliza la busqueda" title="Finaliza" required/>
<input type="submit" id="rango" name="rango_btn" value="Buscar"/>
</form>
<?php echo $msg.'<br/>'; ?>
<hr/>
<?php
if (isset($correr) && $correr=="si") { // Todo esta bien, son numericos menores a 100, y finaliza es mayor a inicia.
echo "Son ".$numero. " registros a mostrar. <br/>";
echo 'La busqueda incia en: '.$inicia.'<br/>';
echo 'Y finaliza en el registro: '.$finaliza.'<br/>';
echo "<table width='100%'>";
echo "<tr>";
echo "<td>No.</td>";
echo "<td>Titulo</td>";
echo "<td>Autor</td>";
echo "<td>Publicacion</td>";
echo "<td>Pais</td>";
echo "<td>Idioma</td>";
echo "</tr>";
while ($fila = $ejecutar->fetch_assoc())
{
$id=$fila['id'];
$titulo=$fila['titulo'];
$autor=$fila['autor'];
$publicacion=$fila['publicacion'];
$pais=$fila['pais'];
$idioma=$fila['idioma'];
echo "<tr class='brillo'>";
echo "<td>".$id."</td>";
echo "<td>".$titulo."</td>";
echo "<td>".$autor."</td>";
echo "<td>".$publicacion."</td>";
echo "<td>".$pais."</td>";
echo "<td>".$idioma."</td>";
echo "</tr>";
};
echo "</table>";
}
?>
</div>