Foros del Web » Programando para Internet » PHP »

Aporte- Busquedas en PHP & MySQL varios casos

Estas en el tema de Aporte- Busquedas en PHP & MySQL varios casos en el foro de PHP en Foros del Web. Buenas noches mis estimados programadores, llevo pocos dias en este foro como miembro pero he aprendido mucho en el, quisiera hacer un pequeño aporte, de ...
  #1 (permalink)  
Antiguo 09/07/2013, 23:42
Avatar de bowiecamaleon  
Fecha de Ingreso: mayo-2013
Ubicación: Mexico
Mensajes: 15
Antigüedad: 6 años, 6 meses
Puntos: 1
Aporte- Busquedas en PHP & MySQL varios casos

Buenas noches mis estimados programadores, llevo pocos dias en este foro como miembro pero he aprendido mucho en el, quisiera hacer un pequeño aporte, de busquedas que se puede implementar a los proyectos, si alguien nota algun error o una sugerencia...

Primero empezare con la base de datos, tome los datos de un articulo de wikipedia de los 100 mejores libros de la historia, solo pondre los primeros 10 para no sea largo:

Código:
CREATE DATABASE pruebas_libros DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

USE pruebas_libros;

CREATE TABLE IF NOT EXISTS `libros_cien` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'clave primaria ',
  `titulo` varchar(60) COLLATE utf8_spanish_ci DEFAULT NULL COMMENT 'Titulo del libro',
  `autor` varchar(40) COLLATE utf8_spanish_ci DEFAULT NULL COMMENT 'Autor del libro',
  `publicacion` varchar(20) COLLATE utf8_spanish_ci DEFAULT NULL COMMENT 'Fecha de publicacion',
  `pais` varchar(40) COLLATE utf8_spanish_ci DEFAULT NULL COMMENT 'Pais de origen',
  `idioma` varchar(20) COLLATE utf8_spanish_ci DEFAULT NULL COMMENT 'Idioma en el que se escribio',
  `imagen` varchar(60) COLLATE utf8_spanish_ci DEFAULT NULL COMMENT 'Imagen del libro guardada en el servidor',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci COMMENT='Tabla para ejercicios 100 mejores libros' AUTO_INCREMENT=101 ;

INSERT INTO `libros_cien` (`id`, `titulo`, `autor`, `publicacion`, `pais`, `idioma`, `imagen`) VALUES
(1, 'Poema de Gilgamesh', 'Anónimo', 'Siglo XVII a. C.', 'Sumeria*e*Imperio acadio', 'Acadio', '''img/fotos/Libro.png'''),
(2, 'Libro de Job*(de la*Biblia)', 'Anónimo', 'Siglo*VI a. C.*-*IV ', 'Imperio aqueménida', 'Hebreo', '''img/fotos/Libro.png'''),
(3, 'Las mil y una noches', 'Anónimo', '700–1500', 'Egipto', 'Árabe', '''img/fotos/Libro.png'''),
(4, 'Saga de Njál', 'Anónimo', 'Siglo XIII', 'Islandia', 'Nórdico antiguo', '''img/fotos/Libro.png'''),
(5, 'Todo se desmorona', 'Chinua Achebe', '1958', 'Nigeria', 'Inglés', '''img/fotos/Libro.png'''),
(6, 'Cuentos infantiles', 'Hans Christian Andersen', '1835–37', 'Dinamarca', 'Danés', '''img/fotos/Libro.png'''),
(7, 'Divina Comedia', 'Dante Alighieri', '1265–1321', 'Florencia', 'Italiano', '''img/fotos/Libro.png'''),
(8, 'Orgullo y prejuicio', 'Jane Austen', '1813', 'Reino Unido', 'Inglés', '''img/fotos/Libro.png'''),
(9, 'Papá Goriot', 'Honoré de Balzac', '1835', 'Francia', 'Francés', '''img/fotos/Libro.png'''),
(10, 'Molloy', 'Samuel Beckett', '1951–53', 'Irlanda', 'Francés', '''img/fotos/Libro.png''');
Ahora el archivo de conexion.

Código PHP:
<?php 
function conectarse()
{
    
$Servidor 'localhost';        // Detalles de la conexión de base de datos - Host
    
$Usuario 'root';                // Detalles de la conexión de base de datos - Username
    
$Password '';                    // Detalles de la conexión de base de datos - Password
    
$Basedatos 'pruebas_libros';    // Detalles de la conexión de base de datos - Database Name

    
$conectar= new mysqli($Servidor,$Usuario,$Password,$Basedatos);// Conexion a la base de datos
    
    
@mysql_query("SET NAMES 'utf8',conectar");
    
            if (
mysqli_connect_errno()) {
            echo 
"Error en conexion: "mysqli_connect_error();
            exit();
            }
            
    return 
$conectar;


}

$conexion conectarse();
$caracteres $conexion->set_charset('utf8');
$charset $conexion->client_encoding();


date_default_timezone_set('America/Mexico_City');// Formateamos la zona horaria
header('Content-Type: text/html; charset=UTF-8');//Configuramos los carateres especiales del idioma español    
?>
Algunas funciones que use funciones.php

[PHP]
<?php
/* ==================================================
Documneto con coleccion de funciones

1.- limpiarCadena: Sirve para evitar las inyecciones SQL
2.- fecha_hoy: Sirve para imprimir la fecha de hoy en formato de texto

================================================== */


/* #1.- limpiarCadena
================================================== */

function limpiarCadena($valor)
{
$valor = str_ireplace("SELECT","",$valor);
$valor = str_ireplace("COPY","",$valor);
$valor = str_ireplace("DELETE","",$valor);
$valor = str_ireplace("DROP","",$valor);
$valor = str_ireplace("DUMP","",$valor);
$valor = str_ireplace(" OR ","",$valor);
$valor = str_ireplace("%","",$valor);
$valor = str_ireplace("LIKE","",$valor);
$valor = str_ireplace("--","",$valor);
$valor = str_ireplace("^","",$valor);
$valor = str_ireplace("[","",$valor);
$valor = str_ireplace("]","",$valor);
$valor = str_ireplace("\\","",$valor);
$valor = str_ireplace("!","",$valor);
$valor = str_ireplace("¡","",$valor);
$valor = str_ireplace("?","",$valor);
$valor = str_ireplace("=","",$valor);
$valor = str_ireplace("&","",$valor);
return $valor;
}

/* #2.- fecha_hoy
================================================== */
function fecha_hoy() {
$fecha = date("Y/m/d/w");
$trozos = explode("/", $fecha);
switch($trozos[1]) {
case "01": $mes="Enero"; break;
case "02": $mes="Febrero"; break;
case "03": $mes="Marzo"; break;
case "04": $mes="Abril"; break;
case "05": $mes="Mayo"; break;
case "06": $mes="Junio"; break;
case "07": $mes="Julio"; break;
case "08": $mes="Agosto"; break;
case "09": $mes="Septiembre"; break;
case "10": $mes="Octubre"; break;
case "11": $mes="Noviembre"; break;
case "12": $mes="Diciembre"; break;
}

switch($trozos[2]) {
case "01": $dia="1°"; break;
case "02": $dia="2"; break;
case "03": $dia="3"; break;
case "04": $dia="4"; break;
case "05": $dia="5"; break;
case "06": $dia="6"; break;
case "07": $dia="7"; break;
case "08": $dia="8"; break;
case "09": $dia="9"; break;
default : $dia=$trozos[2];
}

switch($trozos[3]) {
case 0: $dia2="Domingo"; break;
case 1: $dia2="Lunes"; break;
case 2: $dia2="Martes"; break;
case 3: $dia2="Miércoles"; break;
case 4: $dia2="Jueves"; break;
case 5: $dia2="Viernes"; break;
case 6: $dia2="Sábado"; break;
}

return $dia2.", ".$dia." de ".$mes." del ".$trozos[0].".";

}
?>
  #2 (permalink)  
Antiguo 09/07/2013, 23:45
Avatar de bowiecamaleon  
Fecha de Ingreso: mayo-2013
Ubicación: Mexico
Mensajes: 15
Antigüedad: 6 años, 6 meses
Puntos: 1
Respuesta: Aporte- Busquedas en PHP & MySQL varios casos

El primer archivo es uno simple que muestra la lista completa de los libros

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)); 
    }

    
$consulta "SELECT * FROM  libros_cien";
    
$ejecutar_consulta $conexion->query($consulta);
    
$numero_registros $ejecutar_consulta->num_rows;

?>

<!DOCTYPE html>
<html lang="es">
<head>
    
     <!-- Titulo de la pagina  
  ================================================== -->
     <!-- InstanceBeginEditable name="doctitle" -->
     <title>Lista de libros</title>
     <!-- InstanceEndEditable -->
     <!-- Metas HTML 
  ================================================== -->  
    <meta charset="utf-8"/>
    <meta name="author"         content="Aqui va el autor de la pagina"/>
    <meta name="description"     content="Aqui va la descripcion del sitio"/>
    <meta name="classification" content="Palabras para clasificar la página en los buscadores"/>
    <meta name="generator"         content="Programa utilizado para crear la página"/>
    <meta name="keywords"         content="Aqui van las palabras clave, para la busqueda de la pagina"/>

    <!-- Meta especifica para mobil  
  ================================================== --> 
    <meta name="viewport"         content="width=device-width, initial-scale=1, maximum-scale=1"> 

    <!-- Favicons  
  ================================================== -->  
    <link rel="shortcut icon"     type="image/x-icon" href="img/faviconn.ico">

    <!-- CSS  
  ================================================== --> 
    <link rel="author"            type="text/plain"      href="humans.txt" /><!-- Proyecto humans -->    
    <link rel="stylesheet"     type="text/css"       href="css/estilos.css"/>
    
  

    <!-- Favicons  iDevice
  ================================================== -->  
    <link rel="apple-touch-icon"                  href="img/apple-touch-icon.png">
    <link rel="apple-touch-icon"  sizes="57x57"   href="img/apple-touch-icon-57x57.png"><!-- Para Iphone --> 
    <link rel="apple-touch-icon"  sizes="72x72"   href="img/apple-touch-icon-72x72.png"><!-- Para Ipad -->
    <link rel="apple-touch-icon"  sizes="114x114" href="img/apple-touch-icon-114x114.png"><!-- Para Iphone 4 de alta resolucion --> 

    <!-- Incompatibilidad de navegadores
  ================================================== -->

    <!--[if lt IE 7]>
      <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script>
    <![endif]-->
    <!--[if lt IE 8]>
      <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script>
    <![endif]-->
    <!--[if lt IE 9]>
      <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
    <![endif]-->  
    
    <!-- Script's  
  ================================================== --> 
</head>

<body>
  <div id="envoltura">
    <header id="cabecera"> 
         <hgroup>
              <h1 id="site-title">Base de datos  los 100 mejores libros.</h1>
                  <h2 id="site-description" class="subheader">Proyecto autodidacta.</h2>
        </hgroup>
    </header>      

    <aside id="sidebar">
      <section class="widget clearfix">
        <h4 class="widgettitle">Menu</h4>
        <?php include("php/menu.php"); ?>
      </section>      
</aside>
    <div id="contenido">
      <article class="post clearfix">
        <header>
          <h1 class="post-title">
           Lista de libros
          </h1><p class="post-meta">

             Esta es una lista de los mejores libros de toda la historia. 
          </p></header>
            <div>
            <p><em>Numero total de libros: <?php echo $numero_registros ?></em></p><br>
                  <?php

                              
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_consulta->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>
      </article>
    </div>
</body>
</html>
<?php 
$ejecutar_consulta
->close();
$conexion->close();
?>
  #3 (permalink)  
Antiguo 09/07/2013, 23:53
Avatar de bowiecamaleon  
Fecha de Ingreso: mayo-2013
Ubicación: Mexico
Mensajes: 15
Antigüedad: 6 años, 6 meses
Puntos: 1
Respuesta: Aporte- Busquedas en PHP & MySQL varios casos

Este archivo el usuario decide por que campos buscar en la base de datos, con checkbox

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)); 
    }

    
//Creo un array que contendra los mensajes dependiendo el caso
    
$mensajes = array(  
            
0=>"<em>Lo sentimos tu busqueda no tuvo exito <br/> Tal vez fuiste mus especifico <br/> O usuaste Las palabras 'Clave equivocas'</em>",
            
1=>"<em>Tu busqueda tuvo exito</em>",);

    
//Asigno un valor NULL a las variables que en un futuro se ocuparan para no probocar un notice.
    
$msg="";



     if (isset(
$_POST['multi_btn'])) {  

        
$palabra_clave$_POST['clave_txt'];

        
        
//Variable titulo
        
$titulo  =      (!empty($_POST['campo_titulo'])
                        ?
$titulo "WHERE ".$_POST['campo_titulo']." LIKE '%".$palabra_clave."%'"
                        
"");

        
$autor =        (!empty($_POST['campo_autor'])
                        ?(!empty(
$titulo)
                        ?
$autor" OR ".$_POST['campo_autor']." LIKE '%".$palabra_clave."%'"
                        
:$autor"WHERE ".$_POST['campo_autor']." LIKE '%".$palabra_clave."%'")
                        :
"");

        
$publicacion =  (!empty($_POST['campo_publicacion'])
                        ? (!empty(
$titulo) || !empty($autor)
                        ?
$publicacion" OR ".$_POST['campo_publicacion']." LIKE '%".$palabra_clave."%'"
                        
:$publicacion"WHERE ".$_POST['campo_publicacion']." LIKE '%".$palabra_clave."%'")
                        :
"");

        
$pais =         (!empty($_POST['campo_pais'])
                        ? (!empty(
$titulo) || !empty($autor) || !empty($publicacion)
                        ?
$pais" OR ".$_POST['campo_pais']." LIKE '%".$palabra_clave."%'"
                        
:$pais"WHERE ".$_POST['campo_pais']." LIKE '%".$palabra_clave."%'")
                        :
"");

        
$idioma =       (!empty($_POST['campo_idioma'])
                        ? (!empty(
$titulo) || !empty($autor) || !empty($publicacion) || !empty($pais)
                        ?
$idioma" OR ".$_POST['campo_idioma']." LIKE '%".$palabra_clave."%'"
                        
:$idioma"WHERE ".$_POST['campo_idioma']." LIKE '%".$palabra_clave."%'")
                        :
"");

        
$criterio=$titulo.$autor.$publicacion.$pais.$idioma;
        


        
//Secsion SQL
        //"SELECT * FROM alumnos WHERE $campo1 LIKE '%".$palabra_clave."%' AND $campo2 LIKE '%".$palabra_clave."%'
        
$consulta "SELECT * FROM  libros_cien ".$criterio;
        
$ejecutar_consulta $conexion->query($consulta);
        
$numero $ejecutar_consulta->num_rows;
        
// No es necesario me poducia error $fila = $ejecutar_consulta->fetch_assoc(); 

            
if ($numero==0) {
              
$msg=$mensajes['0'];
              
            }else{
              
$correr="si";
              
$msg=$mensajes['1'];
            }

     }

?>




 
            <form id="multi-busqueda" name="multi_frm" action="multibusqueda.php" method="post" autocomplete="off" enctype="application/x-www-form-urlencoded">
                 
                <label for="clave">Palabra  clave: </label>
                <input type="text"   id="clave" name="clave_txt" placeholder="Inidica la palabra clave de busqueda" title="Palabra clave" required/>
                 
                <fieldset>
                  <legend>Elija los campos por los que desea buscar</legend>
                    <label for:"titulo">
                    <input type="checkbox" name="campo_titulo" value="titulo" id="titulo_chbox" <?php if(isset($_POST['campo_titulo'])){ echo "checked"; }?> > Titulo</label>
                     
                    <label for:"autor">
                    <input type="checkbox" name="campo_autor" value="autor" id="autor_chbox" <?php if(isset($_POST['campo_autor'])){ echo "checked"; }?> > Autor</label>

                    <label for:"publicacion">
                    <input type="checkbox" name="campo_publicacion" value="publicacion" id="publicacion_chbox" <?php if(isset($_POST['campo_publicacion'])){ echo "checked"; }?> > Publicacion</label>
                     
                    <label for:"pais">
                    <input type="checkbox" name="campo_pais" value="pais" id="pais_chbox" <?php if(isset($_POST['campo_pais'])){ echo "checked"; }?> > Pais</label>
                     
                    <label for:"idioma">
                    <input type="checkbox" name="campo_idioma" value="idioma"id="idioma_chbox" <?php if(isset($_POST['campo_idioma'])){ echo "checked"; }?> > Idioma</label>
                </fieldset>
                <br/>    
                <input type="submit" id="rango"  name="multi_btn" value="Buscar"/>
                
            </form>
            <?php echo $msg.'<br/>'?>
            <hr/>
            <?php

                  
if (isset($correr) && $correr=="si") { // Si encontraror algun libro


                        
echo "De tu busqueda encontramos ".$numero" libros. <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_consulta->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>
      </article>
    </div>
</body>
</html>
<?php 
if (isset($ejecutar_consulta)) {$ejecutar_consulta->close();}
$conexion->close();
?>
  #4 (permalink)  
Antiguo 10/07/2013, 00:30
Avatar de bowiecamaleon  
Fecha de Ingreso: mayo-2013
Ubicación: Mexico
Mensajes: 15
Antigüedad: 6 años, 6 meses
Puntos: 1
Respuesta: Aporte- Busquedas en PHP & MySQL varios casos

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>
  #5 (permalink)  
Antiguo 10/07/2013, 00:33
Avatar de bowiecamaleon  
Fecha de Ingreso: mayo-2013
Ubicación: Mexico
Mensajes: 15
Antigüedad: 6 años, 6 meses
Puntos: 1
Respuesta: Aporte- Busquedas en PHP & MySQL varios casos

Adapte un buscador tipo facebook, pero mmm.. que onda comparto la libreria js en dropbox o como se hace?
  #6 (permalink)  
Antiguo 10/07/2013, 02:01
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.970
Antigüedad: 11 años, 3 meses
Puntos: 2185
Respuesta: Aporte- Busquedas en PHP & MySQL varios casos

www.github.com, ahí compartes HTML, CSS, PHP, Javascript, etc., todo el proyecto junto.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: busqueda, mysql
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 12:54.