Autor Tema: MySQL y PHP consulta SELECT * FROM WHERE LIKE simbolo % OR ORDER BY LIMIT  (Leído 9752 veces)

DarwinDLRD

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
¡Hola!

¿Como estan? Bien... empecemos.

Tengo una base de datos llamada buscador con una tabla llamada telementos con los siguientes datos:



Con los siguientes códigos:

Código: [Seleccionar]
<?php 
require_once(
'../conn/connect.php');

sleep(1);

$search '';
if (isset($_POST['search'])){
$search strtolower($_POST['search']);
}

$consulta "SELECT * FROM telementos WHERE simbolo LIKE '%".$search."%' OR color LIKE '%".$search."%' ORDER BY noatomico LIMIT 6";
$resultado $connect->query($consulta);
$fila mysqli_fetch_assoc($resultado);
$total mysqli_num_rows($resultado);
mysqli_close($connect); /* PARA CERRAR LA CONEXIÓN (VERIFICAR) */
?>

Y este otro (en el mismo archivo):

Código: [Seleccionar]
<?php if ($total>&& $search!='') { ?>
<br><br>
<i class="material-icons grey-text text-darken-1 left md-36">search</i><h5 class="blue-text text-darken-2">Resultados de la búsqueda</h5>
<div class="divider"></div>
<br>
<?php do { ?>
<!--INICIO-->
<div class="row">
  <div class="col s12 m3">
    <div class="card hoverable <?php echo str_replace($search'<strong>'.$search.'</strong>'utf8_encode($fila['color'])) ?>">
      <div class="card-content white-text">
      <div class="row">
      <div class="col s6"><?php echo str_replace($search'<strong>'.$search.'</strong>'utf8_encode($fila['noatomico'])) ?></div>
      <div class="col s6 right-align"><?php echo str_replace($search'<strong>'.$search.'</strong>'utf8_encode($fila['matomica'])) ?></div>
      </div>
        <h1 class="center-align"><?php echo str_replace($search'<strong>'.$search.'</strong>'utf8_encode($fila['simbolo'])) ?></h1>
        <p class="center-align"><?php echo str_replace($search'<strong>'.$search.'</strong>'utf8_encode($fila['noelemento'])) ?></p>
        <br>
        <div class="divider"></div>
        <p class="center-align"><b>Grupo, período, bloque</b></p>
        <p class="center-align"><?php echo str_replace($search'<strong>'.$search.'</strong>'utf8_encode($fila['gpb'])) ?></p>
      </div>
    </div>
  </div>
<!--</div>-->
<!--FIN-->

   
<?php } while ($fila=mysqli_fetch_assoc($resultado)); ?>
<?php 
elseif(
$total>&& $search=='') echo '<h4 class="cargando-texto">¡Oops! ¿Estas seguro que ingresaste un dato?</h4>';
else echo 
'<h4 class="cargando-texto">Lamento decirte esto, pero alguien tenia que hacerlo: <br>No se encontraron resultados :(</h4><img class="responsive-img" src="img/error.gif">';
?>

El problema es el siguiente, cuando escribo en el buscador la letra H me parece el Hidrogeno y Helio, todo OK

Pero cuando escribo una G me aparece todos los elementos, el problema es que los muestra sin "color" pero si remarco el cuadro como si fuera a copiarlos, la informacion si esta, sin embargo no deberia de muestrarse, porque solo escribo la letra G cuando mucho solo debe mostrarse el resultado Ga y Ge, pero no! :(


¿Alguien me ayuda? Ya llevo dos dias intentando reparar este error y ni pude dormir pensado como solucionarlo jaja
« Última modificación: 07 de Octubre 2015, 13:07 por César Krall »

jga

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 31
    • Ver Perfil
Re:MySQL y PHP
« Respuesta #1 en: 03 de Octubre 2015, 22:59 »
De todas maneras el % antes y después de una letra o trozo de palabra puede no funcionar como quieres ,  porque  imagínate que en la búsqueda pones " io " , creo que te saldrían también casi todos los elementos ( que contengan io ) y no es una búsqueda muy precisa , pero esa es solo mi opinión claro.Usa la consola de chrome o firefox ( F12 ) para saber bien lo que te esta haciendo el código , yo lo hago y veo errores.
« Última modificación: 03 de Octubre 2015, 23:12 por jga »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".