Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/07/2008, 14:11
ratamaster
 
Fecha de Ingreso: octubre-2004
Ubicación: En algún lugar de la República Oriental del Uruguay
Mensajes: 366
Antigüedad: 19 años, 6 meses
Puntos: 0
Insertar float en mysql desde csv

Hola
Estoy tomando valores desde un archivo csv que son insertados en una tabla mysql
Algunos de los valores del csv son int, string, float, etc
Mi problema es con los float.
Los float en el csv son así por ejemplo: 3.470,000, 1.650,520, 276,0003. 470,000, 77,030.
Mi problema son con los 2 primeros, porque tienen " . "

Código PHP:
while (($data fgetcsv($handle1000";")) !== FALSE) {
    if(
$row_count>0){
      foreach(
$data as $key=>$value) {     
              if(
$value == "NULL"){
                  
$data[$key] = "NULL";
              }else{
                if(
$key==0){
            
$numPos=trim($data[0]);//I trim it 
            
$numPos=explode(' ',$numPos);
            for(
$i=0;$i<= count($numPos)-1;$i++){
              while(
$numPos[$i]==''){
                
array_splice($numPos$i,1);
              }
            }
            
$value=implode('.',$numPos);
            
//$index = str_replace('.', "", $value);
          
}
                
$data[$key] = "'" mysql_real_escape_string(trim($value)) . "'";
              }
          }
      
//$rows[$index] = implode(",",$data);
      
$rows[] = implode(",",$data);
        }
        
$row_count++;
    } 

Esto tira como resultado una cadena así: "hola","123","adios", "3.470,000","fin", etc

Yo necesito analizar campo por campo del csv y darme cuenta cuando el valor es por ejemplo 3.470,000, y si encuentro un match, pasarlo a 3470,000

También el valor puede ser algo como: 1.253.456.876.456,00

Lo puedo hacer un una expreción regular?
__________________
ratamaster