Foros del Web » Programando para Internet » PHP »

como se leen los datos separados por comas en la base forma individual ????

Estas en el tema de como se leen los datos separados por comas en la base forma individual ???? en el foro de PHP en Foros del Web. por ejemplo hago esta consulta Código PHP: $respuesta  =  mysql_query ( "SELECT * FROM colores WHERE nivel='$grado' AND color='$color'" )  ok si en la base de datos alguien tiene el grado 2 ...
  #1 (permalink)  
Antiguo 14/04/2009, 18:44
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
como se leen los datos separados por comas en la base forma individual ????

por ejemplo hago esta consulta

Código PHP:
$respuesta mysql_query("SELECT * FROM colores WHERE nivel='$grado' AND color='$color'"
ok si en la base de datos alguien tiene el grado 2 y el color rojo

hay 2 lista menu en una escogo grado 2 y en la otra color rojo

me muestra:

nombre: juan
grado: 2
color: rojo

hasta aqui perfecto,

que pasa si ana guardado en la base de datos que le gustaban 2 colores negro y rojo ( en la base de datos esta asi : negro, rojo

al hacer en la lista menu grado 2 color rojo no aparece ana no con el color negro


CUAL ES LA SOLUCION ??
  #2 (permalink)  
Antiguo 14/04/2009, 18:48
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: como se leen los datos separados por comas en la base forma individual ???

y estas creando un campo para cada color de cada usuario
ejemplo

campo1 ---- campo2 ----campo3
rojo negro azul

o estas guardando los colores en el mismo campo??

campo1
rojonegroazul
  #3 (permalink)  
Antiguo 14/04/2009, 18:53
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: como se leen los datos separados por comas en la base forma individual ???

si los estoy guardando en el mismo campo separados por comas ejmplo rojo, amarillo, negro
  #4 (permalink)  
Antiguo 14/04/2009, 19:00
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: como se leen los datos separados por comas en la base forma individual ???

lo pdrias hacer con like
checalo asi

Código PHP:
$respuesta mysql_query("SELECT * FROM colores WHERE nivel='$grado' AND color like '%$color%' "
espero te funcione asi
  #5 (permalink)  
Antiguo 14/04/2009, 19:05
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: como se leen los datos separados por comas en la base forma individual ???

Puedes utlizar la funcion explode() con la cual podras indicar el delimitador y crear un vector con los diferentes resultados

Ejemplo
El resultado del campo donde se encuentran los colores

$colores=explode(",",$row['colores']);

Ahora tiene un vector en donde el indice 0 tienes un color el indice 1 otro color etc

echo $colores[0]; -> negro
echo $colores[1]; -> azul
  #6 (permalink)  
Antiguo 14/04/2009, 19:21
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: como se leen los datos separados por comas en la base forma individual ???

Gracias George me funciono perfecto.
  #7 (permalink)  
Antiguo 15/04/2009, 05:14
 
Fecha de Ingreso: marzo-2004
Mensajes: 283
Antigüedad: 20 años, 1 mes
Puntos: 2
Respuesta: como se leen los datos separados por comas en la base forma individual ???

Cita:
Iniciado por By_George Ver Mensaje
lo pdrias hacer con like
checalo asi

Código PHP:
$respuesta mysql_query("SELECT * FROM colores WHERE nivel='$grado' AND color like '%$color%' "
espero te funcione asi
George, se me acaba de ocurrir, que ocurriria si quieres buscar el valor "31" en un campo que incluye los valores "22,93,317,4"? El valor 31 no se encuentra dentro, pero la consulta devolvera resultados pues en el numero 317 si se encuentra el 31, me explico? Como se haria en este caso?
  #8 (permalink)  
Antiguo 15/04/2009, 07:32
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Respuesta: como se leen los datos separados por comas en la base forma individual ???

puede que tangas problemas mas adelante por como diseñaste tu base de datos...

que pasa si quieres hacer una consulta de todos los que le gustan el color azul y azul marino del 2do grado...?

ahi no podras usar like...


tendrias que tener una 2da tabla que se llame color-alumno... y una 3ra que sea solo de colores...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #9 (permalink)  
Antiguo 15/04/2009, 07:44
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: como se leen los datos separados por comas en la base forma individual ???

bueno eso de la base de datos ya seria cuestion de que se arregle por part del compañero, yo creo que lo mejor seria separar eso en otra tabla si tengo no se la tabla alumno pero cada alumno puede tener varios colores hacer otra tabla llamada colores para los colores que elija el alumno relacionando la de alumno con la de colores por el id del alumno bueno eso ya seria mas trabajar en la base de datos

lo que se me ocurriria que en lugar de solo buscar la variable se dentro de las porcentajes se pongan las una coma al principio y una al final de la variable por que ese es su limitador asi solamente si se encuentra eso nos mostraria los resultados

mas o menos asi

$respuesta = mysql_query("SELECT * FROM colores WHERE nivel='$grado' AND color like '%,".$color.",%' ")
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:50.