Update PHP
Publicado por Víctor (6 intervenciones) el 16/09/2020 14:22:40
Buenas, y gracias por estos foros y está web, como podréis ver en mi siguiente comentario, ando algo pez en estas cosas, pero le pongo ganas :)
Estoy haciendo un script php para que me actualice stocks de prestashop, en donde quiero subir un CSV, los carga en una tabla stock y acto seguido ha de realizar algunos updates.
El código que inyecta en stock las referencias y cantidades es el siguiente:
Aquí me surge el primer problema, de unos 20.000 registros, solo me carga unos 4.200 y da como OK la subida y me muestra esos 4200. ¿Como puedo hacer para que cargue todos?
Por otro lado, quiero que antes de cargarlos haga un truncate de la tabla y después, ejecute estas operaciones que hago mediante PHPMyAdmin y no se como añadirlas al script.
Antes de cargar los datos del CSV quiero que haga esto...
Después de cargarlos, que haga lo siguiente...
¿Alguna sugerencia de como hacerlo?
Gracias a todos.
Estoy haciendo un script php para que me actualice stocks de prestashop, en donde quiero subir un CSV, los carga en una tabla stock y acto seguido ha de realizar algunos updates.
El código que inyecta en stock las referencias y cantidades es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
require 'connect.php';
if(ISSET($_POST['save'])){
if($_FILES['file']['name']){
$filename = explode(".", $_FILES['file']['name']);
if($filename[1] == 'csv'){
$handler = fopen($_FILES['file']['tmp_name'], "r");
while($data = fgetcsv($handler)){
$conn->query("INSERT INTO `stock` (referencia, cantidad) VALUES('$data[0]', '$data[1]')");
}
fclose($handler);
}
}
header('location:index.php');
}
?>
Aquí me surge el primer problema, de unos 20.000 registros, solo me carga unos 4.200 y da como OK la subida y me muestra esos 4200. ¿Como puedo hacer para que cargue todos?
Por otro lado, quiero que antes de cargarlos haga un truncate de la tabla y después, ejecute estas operaciones que hago mediante PHPMyAdmin y no se como añadirlas al script.
Antes de cargar los datos del CSV quiero que haga esto...
1
query("TRUNCATE `stock`");
Después de cargarlos, que haga lo siguiente...
1
2
3
UPDATE `bdd`.`ps_product_attribute`,`bdd`.`stock` SET `quantity`= `cantidad` WHERE `ps_product_attribute`.`reference` = `stock`.`referencia`
UPDATE `bdd`.`ps_stock_available`,`bdd`.`ps_product_attribute` SET `ps_stock_available`.`quantity` = `ps_product_attribute`.`quantity` WHERE `ps_stock_available`.`id_product_attribute` = `ps_product_attribute`.`id_product_attribute`
¿Alguna sugerencia de como hacerlo?
Gracias a todos.
Valora esta pregunta


0