Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/11/2010, 15:12
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: campo con valores separados por comas

Hola mayid, gracias x contestar, tienes razon...

Claro despues de plantearme esta pregunta me doy cuenta q eso es lo mas apropiado...pero estoy por terminar el sistema y ya tengo todas las consultas hechas y todo eso, y este fue un requerimiento final q me hicieron y si me pongo a cambiar la base me estare dando de topes en todo lo demas... mi unica solucion es escontrarle solucion de esta manera...

Estuve investigando y encontre la funcion explode... ya la implemente pero mi codigo resulto muy rebuscado, me gustaria poderle dar un poco de dinamismo algo asi como ir creando la consulta con un for o un while... mira este es mi code:

Código PHP:
<?PHP                           
//primero saco los id de la tabla solicitudes
$sql="SELECT id_tipo_pro_esp  from tb_solicitudes where no_sol='$no_sol'";
$result=mysql_query($sql) or die ("No se pudo conectar a la BD ".mysql_error());
$fila=mysql_fetch_array($resultMYSQL_ASSOC);
$id_tipo_pro_esp=$fila['id_tipo_pro_esp'];
//despues los convierto en vector
$vector explode(",",$id_tipo_pro_esp);
//y hago otra consulta condicionando individualmente respecto a la posicion del vector
//esta consulta es la q me gustaria automatizar ya q ahora solo muestro 2 valores pero hay campos con 3 o mas y la cosa seria poner otra union pero seria muy tedioso ya q serian entonces como 10 o mas si algun dia aumentan el catalogo
$sql_ser="(SELECT tipo_pro_esp from tb_tipo_pro_especifico where id_tipo_pro_esp='$vector[0]')UNION(SELECT tipo_pro_esp from tb_tipo_pro_especifico where id_tipo_pro_esp='$vector[1]')";
$resu=mysql_query($sql_ser) or die ("No se pudo conectar a la BD ".mysql_error());
echo 
"Problemas con ";
while(
$fil=mysql_fetch_array($resuMYSQL_ASSOC)){
   
$tipo_pro_esp $fil['tipo_pro_esp'];
   echo 
"$tipo_pro_esp ";
}                            
mysql_free_result($result);
mysql_free_result($resu);
?>
Mi resultado es algo asi:

Problemas con Monitor Teclado

Pero me gustaria trabajar mas la consulta y q las uniones se hicieran con un bucle o algo asi, en pocas palabras optimizar el codigo

y q si hay un solo dato que quede:

Problemas con Monitor

si hay dos o mas q dijera:

Problemas con Monitor y Teclado o al menos: Problemas con Monitor, Teclado

Alguna idea???

Gracias

Última edición por catpaw; 03/11/2010 a las 15:18