Jump to content

seventrust

Members
  • Posts

    1
  • Joined

  • Last visited

Profile Information

  • First Name
    Yerffrey
  • Last Name
    Romero

seventrust's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Hola, saludos a todos los usuarios de Prestashop, hoy les vengo a mostrar una pieza de código que tal vez les funcione para cuando quieran hacer un UPDATE un INSERT a su base de datos de Prestashop, con el propósito de actualizar cantidades o actualizar precios en la tienda sin necesidad de ir uno a uno.... El código está escrito en PHP sencillo y fácil de entender, sin necesidad de explicación, habla por sí solo: <?php /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ //conectar a las bases de datos $connect = mysqli_connect("host","tu_usuario","tu_pass","tu_baseDatos"); //Obtener el valor del dolar para la conversion (ES UN PROCESO ESPECIFICO PARA CHILE) $xmlSource = "http://indicadoresdeldia.cl/webservice/indicadores.xml"; $xml = simplexml_load_file($xmlSource); $dSub = substr($xml->moneda->dolar,1); $d_val = floatval($dSub); //Descargar el archivo para sincronizar //El archivo puede estar alojado en un servidor o en tu máquina, solo tienes que indicar la dirección $file = 'TU_ARCHIVO_CVS.csv'; //RECORRER CADA LINEA DEL CVS PARA OBTENER LA DATA if (($handle = fopen($file, "r")) !== FALSE) { fgetcsv($handle); while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); for ($c=0; $c < $num; $c++) { $col[$c] = $data[$c]; } $col1 = $col[0]; $col2 = $col[1]; $col3 = $col[2]; $col4 = $col[3]; $col5 = $col[4]; $col6 = $col[5]; $col7 = $col[6]; $col8 = $col[7]; $col9 = $col[8]; $col10 = $col[9]; //VALIDACIONES ESPECIFICAS PARA CHILE (CONVERSION DE MONEDA) if($col9 == "US$"){ $precio_final = ceil($col8 * floatval(1.24)); } else { $dolar_final = round($d_val + floatval(5.0)); $precio_final = ceil($col8 / $dolar_final); } // SQL Query Para hacer el update de los datos... $query = "UPDATE ps_product SET price = '".$precio_final."' WHERE reference = '".$col2."'"; $query2 = "UPDATE ps_stock_available a JOIN ps_product b ON a.id_product = b.id_product SET a.quantity = '".$col10."' WHERE b.reference = '".$col2."'"; $s = mysqli_query($connect, $query); $s2 = mysqli_query($connect, $query2); } fclose($handle); } echo "Archivo sincronizado!!!"; mysqli_close($connect); Que se puede mejorar? Si... quieres hacerlo, feel free my friend, modifíquelo a su manera, para su negocio especifico, lo único que sería bueno: COMPARTA LAS MEJORAS y seamos parte del conocimiento libre. Saludos, espero sirva de algo para tod@s.
×
×
  • Create New...