Foros del Web » Programando para Internet » PHP »

ayuda con expresion regular

Estas en el tema de ayuda con expresion regular en el foro de PHP en Foros del Web. Hola, tengo un BD la cual tiene datos ingresados incorrectamente, por ejemplo: . CLIMATIZADOR BI-ZONA. CONSUMO 6 A LOS 100. PRECIO 4900. GPS CD. 633235300. ...
  #1 (permalink)  
Antiguo 14/01/2010, 19:40
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
ayuda con expresion regular

Hola, tengo un BD la cual tiene datos ingresados incorrectamente, por ejemplo:

. CLIMATIZADOR BI-ZONA. CONSUMO 6 A LOS 100. PRECIO 4900. GPS CD. 633235300. .

. coche familiar en muy buen estado

Al principio de esos registros hay un punto, asi como esos hay miles de registros
lo que quiero es quitar ese punto,el campo se llama detalle

Código PHP:
$query "select DETALLE,COD from REGS limit 50 ";
$rs mysql_query($query);

while (
$row=mysql_fetch_array($rs)){

          
$detalle $row['DETALLE'];
          
$codigo $row['COD'];

                if (
preg_match('/^\./i',$detalle)){

                   
$sqlu "update REGS set DETALLE='$detalle' where COD = " $codigo;
      
$resultu mysql_query($sqlu);

      }
}

mysql_free_result($rs); 
pero no actualiza ningun campo, no se que pasa, y me he dado cuenta que todos los registros estan pasando por la condicion asi no tengan el punto.

alguien puede ayudarme?
  #2 (permalink)  
Antiguo 14/01/2010, 19:51
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: ayuda con expresion regular

Si el punto siempre va a estar al principio podrias usar substr(). Creo que seria algo asi:

Código PHP:
$query "select DETALLE,COD from REGS limit 50 ";
$rs mysql_query($query);

while (
$row=mysql_fetch_array($rs)){
          
$sqlu "update REGS set DETALLE='".substr($row['DETALLE'],1)."' where COD = " .$row['COD'];
          
$resultu mysql_query($sqlu);

}
mysql_free_result($rs); 

El substr($variable,1) devuelve la cadena a partir del segundo caracter, ya que al primer caracter lo toma como 0, entonces si quieres quitar los dos primeros seria substr($variable,2)

Prueba a ver si te sirve, saludos
  #3 (permalink)  
Antiguo 14/01/2010, 22:21
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: ayuda con expresion regular

Cita:
Iniciado por Vun Ver Mensaje
Si el punto siempre va a estar al principio podrias usar substr(). Creo que seria algo asi:

Código PHP:
$query "select DETALLE,COD from REGS limit 50 ";
$rs mysql_query($query);

while (
$row=mysql_fetch_array($rs)){
          
$sqlu "update REGS set DETALLE='".substr($row['DETALLE'],1)."' where COD = " .$row['COD'];
          
$resultu mysql_query($sqlu);

}
mysql_free_result($rs); 

El substr($variable,1) devuelve la cadena a partir del segundo caracter, ya que al primer caracter lo toma como 0, entonces si quieres quitar los dos primeros seria substr($variable,2)

Prueba a ver si te sirve, saludos
ummm, pero no todos los registros empiezan con el punto, solo algunos, los demas estan bien
  #4 (permalink)  
Antiguo 14/01/2010, 22:24
 
Fecha de Ingreso: agosto-2009
Mensajes: 28
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ayuda con expresion regular

Cita:
Iniciado por StrikeFreedom Ver Mensaje
Hola, tengo un BD la cual tiene datos ingresados incorrectamente
BUENO y de donde salen esos puntos?????, quien los inserta??? quien los envia y como lo hacen??.. me parece ilógico actualizar un campo para corregir ese tipo de cosas...

lo que se debe hacer es validar que el campo no se envie con ese tipo de errores.

O bien me disculpa si no entendi muy bien la pregunta
  #5 (permalink)  
Antiguo 14/01/2010, 22:27
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: ayuda con expresion regular

Cita:
Iniciado por StrikeFreedom Ver Mensaje
ummm, pero no todos los registros empiezan con el punto, solo algunos, los demas estan bien
Eso es algo que deberias haber aclarado bien. ¿algunos llevan un punto y otros no? ¿algunos llevan algun otro caracter diferente? ¿algunos quizas llevan un punto seguido de un espacio?
  #6 (permalink)  
Antiguo 14/01/2010, 23:03
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: ayuda con expresion regular

umm, bueno, gracias por su ayuda, estaba cometiendo un error al actualizar
Código PHP:
$sqlu "update REGS set DETALLE='$detalle' where COD = " $codigo
Estaba guardando lo mismo :S.
Gracias

Etiquetas: expresion, regular
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:51.