Foros del Web » Programando para Internet » PHP »

Problema con operador LIKE

Estas en el tema de Problema con operador LIKE en el foro de PHP en Foros del Web. Hola compañeros! Mre llamo David, soy niuevo en el foro como en el mundo de php y programación en general. A ver si podeis echarme ...
  #1 (permalink)  
Antiguo 27/10/2009, 14:18
 
Fecha de Ingreso: octubre-2009
Mensajes: 8
Antigüedad: 14 años, 6 meses
Puntos: 1
Problema con operador LIKE

Hola compañeros!

Mre llamo David, soy niuevo en el foro como en el mundo de php y programación en general. A ver si podeis echarme un cable.

Estoy trantando de hacer una consulta con el operador LIKE, que me muestre los resultados que empiecen por una determinada letra, en mi caso la L. Es una prueba pro no me fucniona.


Os dejo el codigo, a ver si encontrais el problema, asi como el error que me da

Código:
<?php

mysql_connect ('localhost', 'root', '');
mysql_select_db('joomla');

$query = SELECT * FROM jos_jforms_5ab92 WHERE h847f LIKE ('L%');

while($artista = mysql_fetch_assoc($query)) {
    echo '$artista["h847f"]<br>';
}

?>

La intencion es que me devuelva los datos de ese campo cuando empiecen por L.

El error que me da es este:


Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\.......eval()'d code on line 8



A ver si podeis echarme una mano, gracias de antemano
  #2 (permalink)  
Antiguo 27/10/2009, 15:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con operador LIKE

Tu problema no es MySQL sino de PHP.
Postea en el foro de PHP. Allí te ayudarán mejor.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/10/2009, 16:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Problema con operador LIKE

Por lo que se refiere a la consulta, no entiendo por qué usas paréntesis delante del like. Prueba así:
$query = SELECT * FROM jos_jforms_5ab92 WHERE h847f LIKE 'L%';
También podrías buscar el primer carácter del campo
$query = SELECT * FROM jos_jforms_5ab92 WHERE LEFT(h847f,1) = 'L';

Pero, además, debes pedir ayuda en el foro PHP. Te falta lanzar la consulta y tampoco haces un buen uso de alguna comilla. Allí te lo resolverán todo. No se trata de un problema de PHP. Pero eso debes resolverlo en el foro PHP.
  #4 (permalink)  
Antiguo 27/10/2009, 16:49
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Tema trasladado desde la sección de Mysql.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 27/10/2009, 16:53
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Problema con operador LIKE

Estas definiendo una variable y asignando como valor una consulta sql, pero nunca ejecutas la consulta
  #6 (permalink)  
Antiguo 27/10/2009, 17:02
 
Fecha de Ingreso: septiembre-2009
Mensajes: 24
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema con operador LIKE

Código:
<?php

mysql_connect ('localhost', 'root', '');
mysql_select_db('joomla');

$query = SELECT * FROM jos_jforms_5ab92 WHERE h847f LIKE ('L%');

while($artista = mysql_fetch_assoc($query)) {
    echo '$artista["h847f"]<br>';
}

?>
para empezar la consulta es asi
$query="SELECT * FROM jos_jforms_5ab92 WHERE h847f LIKE ('%L%')";

puedes dejar los parentesis si quieres (en realidad no afecta en nada), despues tienes que poner

$respuesta= mysql_query($query);

y entonces si usar el mysql_fetch_assoc($respuesta)

Última edición por cuervohcr; 27/10/2009 a las 17:31
  #7 (permalink)  
Antiguo 27/10/2009, 19:14
 
Fecha de Ingreso: octubre-2009
Mensajes: 8
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Problema con operador LIKE

Gracias chicos! Ha funcionado tal y como dijisteis!

Ahora quiero ir mas allá...

Os explico lo que quiero hacer. Es como una pagina de lyrics. Al pulsar sore la letra L, la consulta devuelve todos los artistas que empiezan por L. Hasta ahi bien.

Ahora lo que me gustaría es poder pulsar sobre cada uno de los artistas "consultados" y que devolviera una lista con todas las canciones de dicho artista.

Y al final, que al click sobre una cancion devolviera el valor de un tercer campo, el de la letra.

Como hago todo esto? Voy bien encaminado?


Gracias y entended que soy novato, aunque me lei todo en la wiki de esta web
  #8 (permalink)  
Antiguo 27/10/2009, 19:27
 
Fecha de Ingreso: marzo-2009
Ubicación: San Lorenzo - PY
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problema con operador LIKE

Pues vas muy bien, y te recomiendo que sigas leyendo y postees tus dudas..
  #9 (permalink)  
Antiguo 28/10/2009, 09:15
 
Fecha de Ingreso: septiembre-2009
Mensajes: 24
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema con operador LIKE

de hecho lo que quieres hacer se hace exactamente igual, asi que vas bien, cualquier cosa avisa y si te podemos ayudar aqui estaremos.... suerte(Y)...
  #10 (permalink)  
Antiguo 29/10/2009, 10:15
 
Fecha de Ingreso: octubre-2009
Mensajes: 8
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Problema con operador LIKE

Pues no, no se por donde tirar, aunque vaya bien encaminado...

Suponiendo que es una pagina de lyrics, lo que quiero es que una vez realizada la primera consulta, donde obtengo los artista que empiezan por L, se dispongan como enlaces, que al pincharlos envien otra consulta, esta vez para mostrar las canciones de ese artista en concreto. Y finalmente que al pinchar sobre cada cancion, haga una nueva consulta para mostrar un tercer campo, la letra.


La verdad es que no avanzo y he leido cosas pero que no me han servido. Alguna idea? gracias
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:43.