Foros del Web » Programando para Internet » PHP »

Buscar en la base de datos

Estas en el tema de Buscar en la base de datos en el foro de PHP en Foros del Web. Saludos, he creado un sistema en el cual las personas ponen unas cuantas tags al subir una noticia. Lo que me gustaría es que si ...
  #1 (permalink)  
Antiguo 17/07/2008, 09:26
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Busqueda Buscar en la base de datos

Saludos, he creado un sistema en el cual las personas ponen unas cuantas tags al subir una noticia.

Lo que me gustaría es que si un usuario pone digamos la palabra "red" que busque en toda la tabla 'noticias' en 'tag' la palabra 'red'

que mismo si esta separado por coma, que encuentre la palabra red!

ya que intente hablo asi como LIKE una vez, y pues no me sacaba la palabra red mismo si alli estaba :S asi que no se si es que lo hice mal o si es que es de otra manera.

Gracias!
  #2 (permalink)  
Antiguo 17/07/2008, 09:36
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Buscar en la base de datos

Que tal TxT, puedes colocar el código que estas utlizando para realizar la busqueda? así será mas facil poder ayudarte.




Saludos.
  #3 (permalink)  
Antiguo 17/07/2008, 10:19
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Buscar en la base de datos

usaba la siguiente manera:

Código PHP:
$tag $_POST['tag'];

$query mysql_query("SELECT * FROM noticias WHERE tag LIKE = '$tag'"); 
De esta manera es que lo hacia. Y pues en tag digamos que quiero buscar manzana, pues quisiera que me busque en tag todas las que tienen manzana mismo si hay una coma delante o lo que si es manzanaroja tambien que me lo muestre, ya que sale la palabra manzana.

Por cierto tag lo cree como longtext (por si acaso cambia algo eso)
  #4 (permalink)  
Antiguo 17/07/2008, 10:23
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Buscar en la base de datos

Cambia esta linea

$query = mysql_query("SELECT * FROM noticias WHERE tag LIKE = '$tag'");

Por esta:

$query = "SELECT * FROM noticias where (tag like '%".$tag."%') ";

Última edición por hulray; 17/07/2008 a las 10:30
  #5 (permalink)  
Antiguo 17/07/2008, 10:28
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Buscar en la base de datos

Estas ejecutando mal tu consulta, debería ser así:

Código PHP:
$tag $_POST['tag'];
$query mysql_query("SELECT * FROM noticias WHERE tag LIKE '%$tag%'") or die("Error en consulta:" .mysql_error() ); 
Aunque también te recomendaría utilizar MATCH AGAINST e Indices FULLTEXT

Saludos.
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 07:23.