Autor Tema: MySQL y PHP consulta SELECT * FROM WHERE LIKE simbolo % OR ORDER BY LIMIT  (Leído 10791 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>0 && $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>0 && $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".