Foros del Web » Programando para Internet » PHP »

borrar coma en un bucle al insertar datos

Estas en el tema de borrar coma en un bucle al insertar datos en el foro de PHP en Foros del Web. Hola. mi consulta es como puedo eliminar la coma al insertar los valorse en un bucle Código PHP: $valores = "125,185,94,9498,959834,5386" ; $sql = "insert into hospitalizados.debug(iddebug,descr,foranea)values" ...
  #1 (permalink)  
Antiguo 08/08/2008, 09:20
 
Fecha de Ingreso: abril-2006
Mensajes: 240
Antigüedad: 18 años, 1 mes
Puntos: 1
borrar coma en un bucle al insertar datos

Hola.
mi consulta es como puedo eliminar la coma al insertar los valorse en un bucle

Código PHP:
$valores="125,185,94,9498,959834,5386";
$sql="insert into hospitalizados.debug(iddebug,descr,foranea)values";
$exp=explode(",",$valores);
foreach(
$exp as $elemento){
    
    
$sql.=(','); //esta coma queda al lado del values por ende manda error y si lo coloco al final = manda error ya que no continua ningun valor a insertar
    
$sql.="('','2','".$elemento."')";
}
echo 
$sql
de antemanos gracias
  #2 (permalink)  
Antiguo 08/08/2008, 09:23
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 8 meses
Puntos: 55
Respuesta: borrar coma en un bucle al insertar datos

foreach($exp as $elemento){

//
$sql.=(','); //esta coma queda al lado del values por ende manda error y si lo coloco al final = manda error ya que no continua ningun valor a insertar
$sql[]="('','2','".$elemento."')";
}
echo
implode(',',$sql);
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 08/08/2008, 09:29
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: borrar coma en un bucle al insertar datos

Crea una bandera $coma que te indique que ya se han agregado datos a la consulta y que por lo tanto corresponde insertar coma:

Código PHP:
$valores="125,185,94,9498,959834,5386"
$sql="insert into hospitalizados.debug(iddebug,descr,foranea)values"
$exp=explode(",",$valores); 
 
// Creamos la bandera
$coma false;
 
foreach(
$exp as $elemento){ 
    if(
$coma == true$sql.=','// Si ya está seteada la var $coma, debe agregarse una coma a la consulta
    
else $coma true// Si no, seteamos la variable $coma, pero no agregamos. Esto ocurre en el primer ciclo
    
$sql.="('','2','".$elemento."')"

echo 
$sql
Saludos,

Última edición por okram; 08/08/2008 a las 10:35
  #4 (permalink)  
Antiguo 08/08/2008, 09:47
 
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 109
Antigüedad: 19 años, 9 meses
Puntos: 1
Respuesta: borrar coma en un bucle al insertar datos

solo una pregunta me podrian decir por que no puede ser de la siguiente manera:
Código PHP:
$valores=Array ("125","185","94","9498","959834","5386");
foreach (
$valores as $valor)
{
    
$sql="insert into hospitalizados.debug(iddebug,descr,foranea)values ('','2','$valor')";
    

????
  #5 (permalink)  
Antiguo 08/08/2008, 09:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: borrar coma en un bucle al insertar datos

Si es posible hacerlo de esa forma, pero no es la forma como la tiene originalmente el compañero.

Saludos.
  #6 (permalink)  
Antiguo 08/08/2008, 09:56
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: borrar coma en un bucle al insertar datos

Así como lo has puesto no está bien pues en cada bucle reescribes la variable $sql.

Si te refieres a ejecutar la consulta en cada ciclo, podría hacerse y es válido, pero... para qué si puedes hacerlo todo junto?

http://www.forosdelweb.com/f86/inser...6/#post1735927

Un saludo,
  #7 (permalink)  
Antiguo 08/08/2008, 09:58
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: borrar coma en un bucle al insertar datos

Cita:
Iniciado por climax2006 Ver Mensaje
Hola.
mi consulta es como puedo eliminar la coma al insertar los valorse en un bucle

Código PHP:
$valores="125,185,94,9498,959834,5386";
$sql="insert into hospitalizados.debug(iddebug,descr,foranea)values";
$exp=explode(",",$valores);
foreach(
$exp as $elemento){
    
    
$sql.=(','); //esta coma queda al lado del values por ende manda error y si lo coloco al final = manda error ya que no continua ningun valor a insertar
    
$sql.="('','2','".$elemento."')";
}
echo 
$sql
de antemanos gracias

sacado de la documentacion de php.net (buscando implode();)
Código PHP:
function implode_wrapped($before$after$glue$array){
    
$output '';
    foreach(
$array as $item){
        
$output .= $before $item $after $glue;
    }
    return 
substr($output0, -strlen($glue));
}

$valores="125,185,94,9498,959834,5386";
echo 
"insert into hospitalizados.debug(iddebug,descr,foranea)values".implode_wrapped("('', '2','","')",", ",explode(",",$valores)).";"

cuentanos si te sirve, saludos
  #8 (permalink)  
Antiguo 08/08/2008, 10:34
 
Fecha de Ingreso: abril-2006
Mensajes: 240
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: borrar coma en un bucle al insertar datos

gracias compañeros, el ultimo post, funciono perfectamente
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:05.