Foros del Web » Programando para Internet » PHP »

separar cadena con caracter intermedio que se repite..

Estas en el tema de separar cadena con caracter intermedio que se repite.. en el foro de PHP en Foros del Web. Hola foreros, comento mi inconveniente, resulta que necesido separar los campos de una consulta sql a traves de la coma, pero existen casos en donde ...
  #1 (permalink)  
Antiguo 21/11/2011, 11:08
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
separar cadena con caracter intermedio que se repite..

Hola foreros, comento mi inconveniente, resulta que necesido separar los campos de una consulta sql a traves de la coma, pero existen casos en donde se utilizan
funciones que contienen comas, y ahi tengo el inconveniente, me separa mal los campos

los campos de la consulta sql que necesito separar son:

Código PHP:
Ver original
  1. <?php
  2. $consulta="SELECT A.SALCODIGO,
  3. A.SALNOMBRE,
  4. G.FECINIPROC,
  5. G.GPACODIGO,
  6. G.FECFINPROC,
  7. RTRIM(C.GPANOMBRE)+' '+RTRIM(C.GPASEGNOM)+' '+RTRIM(C.GPAAPELLI)+' '+RTRIM(C.GPASEGAPE) AS PACIENTE,
  8. DATEDIFF(YEAR,C.GPAFECNAC,GETDATE())AS EDAD,
  9. C.GPATELEF1 AS TELEFONO,
  10. D.AINCONSEC,
  11. E.ENTNOMBRE AS ENTIDAD,
  12. F.NOMCIRUGIA AS PROCEDIMIENTO,
  13. G.DATPROCE AS OBSERVACION,
  14. H.GMENOMBRE AS MEDICO,
  15. CASE G.PCAESTADO WHEN 'C' THEN 'Cumplido' WHEN 'A' THEN 'Cancelado' WHEN  'D' THEN 'Anulado' ELSE 'Programado' END AS ESTADOCIR,
  16. G.PSANUMERO ";
  17.  
  18. ?>

En un comiezo pense que la funcion explode seria la solución (separandolos a traves del caracter: ,)....pero por ejemplo en el campo:

DATEDIFF(YEAR,C.GPAFECNAC,GETDATE())AS EDAD,

hay dos comas intermedias y algunas otras funciones solo utilizan una sola coma intermedia, ya explode no me sirve.....como podria entonces separar la cadena de tal forma que quede así:
A.SALCODIGO
A.SALNOMBRE
G.GPACODIGO
DATEDIFF(YEAR,C.GPAFECNAC,GETDATE())AS EDAD
...
...

Agradezco me puedan dar alguna idea...mucha gracias..........
  #2 (permalink)  
Antiguo 21/11/2011, 12:01
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: separar cadena con caracter intermedio que se repite..

No recuerdo si php lee saltos de linea pero creo que si, el problema es que no se si tu consulta los tenga XD

pero todas las comas que quieres quitar estan al final de una linea :)

quizas la tirada este por ahi :)
  #3 (permalink)  
Antiguo 21/11/2011, 13:19
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: separar cadena con caracter intermedio que se repite..

Jumm ese es un gran invonveniente, saltos de linea no los hay.......los publique asi en el tema pero para facilitar la visualización.....generalmente los campos van uno enseguida del otro, separados por la coma.............
  #4 (permalink)  
Antiguo 21/11/2011, 14:12
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: separar cadena con caracter intermedio que se repite..

Las comas que no quieres quitar estan todas dentro de parentesis?

hay que buscar lo común de unas y otras, si es asi, con una expresion regular se podria hacer.
  #5 (permalink)  
Antiguo 21/11/2011, 14:35
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: separar cadena con caracter intermedio que se repite..

Si, las comas estan siempre dentro de parentesis..
Pero como aplicaria la expresión regular ?......
  #6 (permalink)  
Antiguo 21/11/2011, 14:52
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: separar cadena con caracter intermedio que se repite..

pues con preg match all

obtienes las consultas le pasas las coincidencias para que te devuelva todo sin comas es algo dificil pero si lo logras te ahorrarás mucho tiempo.
  #7 (permalink)  
Antiguo 21/11/2011, 15:07
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: separar cadena con caracter intermedio que se repite..

Puess voy a tratarlo con lo que dices, si he trabajado expresiones regulares, lo que pasa es que me toca aplicar dos: una cuando hallan funciones con tres comas y otra para funciones con solo dos comas................la veo complicada pero voy a hacerle...De todos modos gracias...

Etiquetas: intermedio, sql, caracteres, cadenas
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 08:58.