Foros del Web » Programando para Internet » PHP »

Funcion Concatenar MYSQL y PHP

Estas en el tema de Funcion Concatenar MYSQL y PHP en el foro de PHP en Foros del Web. Hola, buenas tardes, otra vez con dudas, tengo este codigo: Código PHP: $query_fechas= "SELECT pacientes.folio_paciente,origen_toma_ap1.fecha_toma,etiquetas_muestras.fk_folio_paciente,CONCAT(etiquetas_muestras.tc,'-',etiquetas_muestras.at,'-', etiquetas_muestras.cbl,'-',etiquetas_muestras.h,'-', etiquetas_muestras.l)as muestrasI, etiquetas_muestras.numero_repeticiones FROM origen_toma_ap1, pacientes, etiquetas_muestras WHERE pacientes.fk_IDorigen_toma=origen_toma_ap1.idorigen_toma AND etiquetas_muestras.fk_folio_paciente=pacientes.folio_paciente AND origen_toma_ap1.fecha_toma BETWEEN '$fecha_ini' and '$fecha_fin'"; $res_fechas = mysql_query( $query_fechas, $ceo_webportal) or die( mysql_error() );  $totalreg = mysql_num_rows($res_fechas); $i=0; while(($row=mysql_fetch_array($res_fechas)) and ($i<=$totalreg)){ $muestras3=$row['muestrasI']; } ...
  #1 (permalink)  
Antiguo 14/11/2012, 16:29
 
Fecha de Ingreso: octubre-2012
Mensajes: 28
Antigüedad: 11 años, 6 meses
Puntos: 2
Pregunta Funcion Concatenar MYSQL y PHP

Hola, buenas tardes, otra vez con dudas, tengo este codigo:
Código PHP:
$query_fechas= "SELECT pacientes.folio_paciente,origen_toma_ap1.fecha_toma,etiquetas_muestras.fk_folio_paciente,CONCAT(etiquetas_muestras.tc,'-',etiquetas_muestras.at,'-',
etiquetas_muestras.cbl,'-',etiquetas_muestras.h,'-',
etiquetas_muestras.l)as muestrasI,
etiquetas_muestras.numero_repeticiones
FROM origen_toma_ap1, pacientes, etiquetas_muestras
WHERE pacientes.fk_IDorigen_toma=origen_toma_ap1.idorigen_toma
AND etiquetas_muestras.fk_folio_paciente=pacientes.folio_paciente AND origen_toma_ap1.fecha_toma BETWEEN '$fecha_ini' and '$fecha_fin'";


$res_fechas = mysql_query( $query_fechas, $ceo_webportal) or die( mysql_error() ); 
$totalreg = mysql_num_rows($res_fechas);

$i=0;
while(($row=mysql_fetch_array($res_fechas)) and ($i<=$totalreg)){

$muestras3=$row['muestrasI'];
}
<strong> <?php echo $muetras3 ?></strong>
No logro hacer que se concatenen los campos, no se que pasa, tengo algun error de sintaxis?
  #2 (permalink)  
Antiguo 14/11/2012, 16:37
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: Funcion Concatenar MYSQL y PHP

Código PHP:
Ver original
  1. <?
  2. $query_fechas= "SELECT pacientes.folio_paciente,
  3. origen_toma_ap1.fecha_toma,
  4. etiquetas_muestras.fk_folio_paciente,
  5. CONCAT(etiquetas_muestras.tc,'-',
  6. etiquetas_muestras.at,'-',
  7. etiquetas_muestras.cbl,'-',etiquetas_muestras.h,'-',
  8. etiquetas_muestras.l)as muestrasI,
  9. etiquetas_muestras.numero_repeticiones
  10. FROM origen_toma_ap1, pacientes, etiquetas_muestras
  11. WHERE pacientes.fk_IDorigen_toma=origen_toma_ap1.idorigen_toma
  12. AND etiquetas_muestras.fk_folio_paciente=pacientes.folio_paciente AND origen_toma_ap1.fecha_toma BETWEEN '$fecha_ini' and '$fecha_fin'";
  13.  
  14.  
  15. $res_fechas = mysql_query( $query_fechas, $ceo_webportal) or die( mysql_error() );  
  16. $totalreg = mysql_num_rows($res_fechas);
  17.  
  18. $i=0;
  19. while(($row=mysql_fetch_array($res_fechas)) and ($i<=$totalreg)){ #abusado $i siempre va a ser 0 aqui
  20.  
  21. $muestras3=$row['muestrasI'];
  22. } ?> <!--como que falta cerrar aqui php no?-->
  23. <strong> <?php echo $muetras3 ?></strong>
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #3 (permalink)  
Antiguo 14/11/2012, 16:45
 
Fecha de Ingreso: octubre-2012
Mensajes: 28
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: Funcion Concatenar MYSQL y PHP

mogurbon, gracias por contestar, pero si cierro en esa parte, falto pegar el resto del codigo, pero si cierro.
Código PHP:
Ver original
  1. $muestras3=$row['muestrasI'];
  2.  
  3. $tc=$row['tc'];
  4. $at=$row['at'];
  5. $cbl=$row['cbl'];
  6. $h=$row['h'];
  7. $l=$row['l'];
  8. ?>

Asi que no creo que ese sea el problema
  #4 (permalink)  
Antiguo 14/11/2012, 16:47
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 137
Respuesta: Funcion Concatenar MYSQL y PHP

te muestra algun error??
  #5 (permalink)  
Antiguo 14/11/2012, 16:51
 
Fecha de Ingreso: octubre-2012
Mensajes: 28
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: Funcion Concatenar MYSQL y PHP

Hola abimex, no, no me muestra ningun error, simplemente no me aparece nada cuando trato de mostrar la variable.
Lo que intento hacer es que el valor de todos esos campo los muestre en una etiqueta
Código HTML:
Ver original
  1. <label><?php echo $muestras3;?></label>

Pero no me muestra nada, sin embargo, si lo hago campo por campo, quitandole el CONCAT, e imprimiendo asi:
Código PHP:
Ver original
  1. <?php echo $row['tc'] ?>
  2. <?php echo $row['at'] ?>
  3. <?php echo $row['cbl'] ?>

Si me muestra la informacion, que podria estar mal?
  #6 (permalink)  
Antiguo 14/11/2012, 17:09
Avatar de montealegreluis  
Fecha de Ingreso: mayo-2012
Ubicación: Puebla, Puebla
Mensajes: 64
Antigüedad: 12 años
Puntos: 16
Respuesta: Funcion Concatenar MYSQL y PHP

Hola Iram5328, si mal no entiendo quieres todos los valores en la variable $muestras3. Creo que puede haber dos errores el primero es que falta un punto en esta linea para concatenar

Código PHP:
Ver original
  1. $muestras3 .= $row['muestrasI'];

Y el otro es que estas haciendo el echo de $muetras (sin s, en el primer código que pusiste esta así), creo que debería ser:

Código PHP:
Ver original
  1. echo $muestras3

Saludos
__________________
RTFM: Read The Fine Manual...

http://www.comunidadphppuebla.com
https://github.com/ComPHPPuebla
  #7 (permalink)  
Antiguo 14/11/2012, 17:20
 
Fecha de Ingreso: octubre-2012
Mensajes: 28
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: Funcion Concatenar MYSQL y PHP

montealegreluis, exactamente eso es lo que quiero hacer, ya corregi los errores que mencionaste, pero sigo sin obtener ningun valor.

Gracias
  #8 (permalink)  
Antiguo 14/11/2012, 17:38
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: Funcion Concatenar MYSQL y PHP

dos preguntas , que pasa si haces esto?

Código PHP:
Ver original
  1. $query_fechas= "SELECT pacientes.folio_paciente,
  2. origen_toma_ap1.fecha_toma,
  3. etiquetas_muestras.fk_folio_paciente,
  4. CONCAT(etiquetas_muestras.tc,'-',etiquetas_muestras.at,'-',etiquetas_muestras.cbl,'-',etiquetas_muestras.h,'-',etiquetas_muestras.l)as muestrasI,
  5. etiquetas_muestras.numero_repeticiones
  6. FROM origen_toma_ap1, pacientes, etiquetas_muestras
  7. WHERE pacientes.fk_IDorigen_toma=origen_toma_ap1.idorigen_toma
  8. AND etiquetas_muestras.fk_folio_paciente=pacientes.folio_paciente AND origen_toma_ap1.fecha_toma BETWEEN '$fecha_ini' and '$fecha_fin'";
  9.  
  10.  
  11. $res_fechas = mysql_query( $query_fechas, $ceo_webportal) or die( mysql_error() );  
  12. $totalreg = mysql_num_rows($res_fechas);
  13.  
  14.  
  15. if ($totalreg>0){
  16.     while($row=mysql_fetch_array($res_fechas)){
  17.         echo $row['muestrasI']."<br>";
  18.     }
  19. }


que pasa cuando ejecutas el query soloen tu cliente ?
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #9 (permalink)  
Antiguo 14/11/2012, 17:48
Avatar de montealegreluis  
Fecha de Ingreso: mayo-2012
Ubicación: Puebla, Puebla
Mensajes: 64
Antigüedad: 12 años
Puntos: 16
Respuesta: Funcion Concatenar MYSQL y PHP

Después de leer el comentario de mogurbon, creo que el problema si es el CONCAT, si alguno de tus valores es null todo el resultado del concat será null, prueba cambiando esta línea en tu query:

Código SQL:
Ver original
  1. CONCAT(etiquetas_muestras.tc,'-',etiquetas_muestras.at,'-',etiquetas_muestras.cbl,'-',etiquetas_muestras.h,'-',etiquetas_muestras.l)AS muestrasI

Por esta

Código SQL:
Ver original
  1. CONCAT(IFNULL(etiquetas_muestras.tc, ''),'-',IFNULL(etiquetas_muestras.at, ''),'-',IFNULL(etiquetas_muestras.cbl, ''),'-',IFNULL(etiquetas_muestras.h, ''),'-',IFNULL(etiquetas_muestras.l, ''))AS muestrasI

Más los cambios que ya te había mencionado en el comentario anterior
__________________
RTFM: Read The Fine Manual...

http://www.comunidadphppuebla.com
https://github.com/ComPHPPuebla
  #10 (permalink)  
Antiguo 14/11/2012, 17:55
 
Fecha de Ingreso: octubre-2012
Mensajes: 28
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: Funcion Concatenar MYSQL y PHP

montealegreluis, algunos de los valores, de los campos de la consulta, no seran los mismos en todos los casos, algunos vendran en null, entonces, lo que me dices es que con IFNULL concatenara solo los campos que si tengan valor? La concatenacion no funciona si hay valores nulos?
  #11 (permalink)  
Antiguo 14/11/2012, 21:33
Avatar de montealegreluis  
Fecha de Ingreso: mayo-2012
Ubicación: Puebla, Puebla
Mensajes: 64
Antigüedad: 12 años
Puntos: 16
Respuesta: Funcion Concatenar MYSQL y PHP

Sí, la concatenación devuelve null si alguno de los argumentos es null de acuerdo al manual de MySQL

http://dev.mysql.com/doc/refman/5.0/...unction_concat

Si es tu caso, que alguna de esas columnas es null, es por eso que no ves el resultado, PHP convierte el null de MySQL en una cadena vacía y es muy probable que por eso no veas el resultado.

El IFNULL es para asignar una cadena vacía en caso de el valor de tu campo sea null, por ejemplo

Código MySQL:
Ver original
  1. CONCAT(IFNULL(null, 'Hola '), 'mundo')

devolvería 'Hola mundo' ya que el primer argumento del IFNULL es null, este valor es reemplazado por 'Hola ' en el ejemplo de mi comentario anterior estoy cambiando los posibles null por cadenas vacías, para que tu resultado siempre sea una cadena, en el peor de los casos que todos tus campos sean null, el resultado que obtendrías sería una cadena vacía.

En el manual vienen más ejemplos, busca IFNULL en esta página

http://dev.mysql.com/doc/refman/5.0/...functions.html

Saludos!
__________________
RTFM: Read The Fine Manual...

http://www.comunidadphppuebla.com
https://github.com/ComPHPPuebla
  #12 (permalink)  
Antiguo 15/11/2012, 10:35
 
Fecha de Ingreso: octubre-2012
Mensajes: 28
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: Funcion Concatenar MYSQL y PHP

Es genial encontrar personas como tu montealegreluis que ayuden de la forma en que tu lo haces, efectivamente, tenia algunos campos nulos en mi consulta, por eso no me arrojaba nada, no sabia acerca de esa condicion de Concatenacion, gracias, de verdad, por ayudarme, aprendi algo nuevo el dia de ayer, y resolvi mi problema.

Muchas gracias montealegreluis!!!
  #13 (permalink)  
Antiguo 15/11/2012, 10:51
Avatar de montealegreluis  
Fecha de Ingreso: mayo-2012
Ubicación: Puebla, Puebla
Mensajes: 64
Antigüedad: 12 años
Puntos: 16
Respuesta: Funcion Concatenar MYSQL y PHP

De nada Iram5328, gracias por tu comentario y que bueno que ya funciona tu código

Saludos!
__________________
RTFM: Read The Fine Manual...

http://www.comunidadphppuebla.com
https://github.com/ComPHPPuebla

Etiquetas: concatenar, mysql
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:07.