PHP - insertar excel en sql con php todo en 1 fila

 
Vista:
sin imagen de perfil
Val: 53
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

insertar excel en sql con php todo en 1 fila

Publicado por alberto (21 intervenciones) el 31/12/2020 18:26:02
Buenas

llevo unas horas rompiendome el coco y sin resultado ( el coco aun lo tengo bien ) :)

hice este script ( es una adaptacion de otro que vi por ahi ) el cual inserta un libro de excel en la base de datos, hasta ahi me funciona, pero en esta modificacion, lo que intento es que me almacene en una variable todos los valores de la columna del libro de excel y luego lo inserte en un solo registro de la sql.

es decir tengo 2 campos en la tabla y querría hacerlo así

Nombre Referencia
XXX 111, 222, 333

el libro pues un libro normal, en realidad solo me interesa una de la columnas, la B que para php es la [1].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
include('header.php');
 
include('sidebar.php');
 
include('conexion_importar.php');
require_once('vendor/php-excel-reader/excel_reader2.php');
require_once('vendor/SpreadsheetReader.php');
 
 
if (isset($_POST["import"]))
{
	$final = '';
	$nombre= $_POST["nombre"];
 
 
 
 
$allowedFileType = ['application/vnd.ms-excel','text/xls','text/xlsx','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'];
 
  if(in_array($_FILES["file"]["type"],$allowedFileType)){
 
        $targetPath = 'xlsx/'.$_FILES['file']['name'];
        move_uploaded_file($_FILES['file']['tmp_name'], $targetPath);
 
        $Reader = new SpreadsheetReader($targetPath);
 
        $sheetCount = count($Reader->sheets());
        for($i=0;$i<$sheetCount;$i++)
        {
 
 
 
 
 
 
            $Reader->ChangeSheet($i);
 
            foreach ($Reader as $Row)
            {
				comienzo:
                $Referencia = "";
                if(isset($Row[1])) {
                    $Referencia = mysqli_real_escape_string($con,$Row[1]);
                }
 
 
 
                if (!empty($Referencia)) {
 
 
					if (!empty($final)){
						$final = $Referencia . ', ';
 
					}else{
 
						$final = $final . $Referencia . ', ';
					}
					goto comienzo;
				}else{
                    $query = "insert into nombres(nombre,referencia) values('".$nombre."','".$final."')";
                    $resultados = mysqli_query($con, $query);
 
                    if (! empty($resultados)) {
                        $type = "success";
                        $message = "Excel importado correctamente";
                    } else {
                        $type = "error";
                        $message = "Hubo un problema al importar registros";
                    }
				}
             }
 
         }
  }
  else
  {
        $type = "error";
        $message = "El archivo enviado es invalido. Por favor vuelva a intentarlo";
  }
}
 
 
?>

Alguna idea de como hacerlo? muchas gracias

Y feliz año nuevo....:)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder