Foros del Web » Programando para Internet » PHP »

Insertar nueva fila en csv mediante php

Estas en el tema de Insertar nueva fila en csv mediante php en el foro de PHP en Foros del Web. Hola amigas/os a ver si me pueden ayudar con esto. Tengo un cogido que me inserta una fila en un archivo csv mediante php. El ...
  #1 (permalink)  
Antiguo 07/05/2019, 10:57
 
Fecha de Ingreso: mayo-2012
Mensajes: 736
Antigüedad: 7 años, 3 meses
Puntos: 5
Insertar nueva fila en csv mediante php

Hola amigas/os a ver si me pueden ayudar con esto.

Tengo un cogido que me inserta una fila en un archivo csv mediante php.

El problema es que no se como hacer para que me siga insertando en una segunda fila

mas abajo, es decir todo el contenido me lo pone en celdas de una misma fila. segun lo que veo en excel.

Lo que necesito es que cada cuatro datos metidos en cada fila me haga un salto

y en una segunda fila meta otros 4 datos mas y asi en adelante.

Miren este es mi codigo:

Código PHP:
Ver original
  1. $fila = fopen("php://output","w");
  2.  
  3.  
  4.             foreach ($array_csv as $array_datos_usuarios)
  5.  
  6.                 {
  7.                     foreach ($array_datos_usuarios as $dato_usuario)
  8.  
  9.                         {
  10.                             //fwrite($file,"\r\n");
  11.  
  12.                             fputcsv($fila, $dato_usuario);
  13.                         }
  14.  
  15.                 }
  16.  
  17.  
  18.             fclose($fila);

Gracias de ante mano
  #2 (permalink)  
Antiguo 09/05/2019, 04:15
 
Fecha de Ingreso: mayo-2012
Mensajes: 736
Antigüedad: 7 años, 3 meses
Puntos: 5
Respuesta: Insertar nueva fila en csv mediante php

Aqui comparto la solucion al problema que finalmente yo he encontrado:

(Si alguien puede mejorarlo adelante y que lo aporte tambien )

Un saludo

Archivo 1:

Código PHP:
Ver original
  1. $array_todos_usuarios_titulo = array();
  2.  
  3.  
  4.  
  5. $array_todos_usuarios = array();
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                     while($fila = mysqli_fetch_assoc($todos_usuarios))
  12.  
  13.  
  14.  
  15.                         {
  16.  
  17.                             $nombre_usuario = $fila['nombre_usuario'];
  18.  
  19.  
  20.  
  21.                             $apellidos_usuario = $fila['apellidos_usuario'];
  22.  
  23.  
  24.  
  25.                             $dni_usuario = $fila['dni_usuario'];
  26.  
  27.  
  28.  
  29.                             $movil_usuario = $fila['movil_usuario'];
  30.  
  31.  
  32.  
  33. array_push($array_todos_usuarios, array($nombre_usuario, $apellidos_usuario, $dni_usuario, $movil_usuario));
  34.  
  35.  
  36.  
  37.                     }
  38.  
  39.  
  40.  
  41. array_push($array_todos_usuarios_titulo, array('Nombre','apellidos','DNI','Móvil'));

Código HTML:
Ver original
  1. <form class="formulario_todos_los_usuarios_listados" action="secciones/buscador_clientes_ajax/descargar_usuarios_listados_csv.php" method="post">
  2.  
  3.  
  4.  
  5.                         <input type="hidden" name="Datos_usuarios_segun_rol" value='Descargar_todos_los_usuarios_listados'>
  6.  
  7.  
  8.  
  9. <input type="hidden" name="array_todos_usuarios_titulo" value='<?php echo serialize($array_todos_usuarios_titulo); ?>'>
  10.  
  11.  
  12.  
  13.                         <input type="hidden" name="array_todos_usuarios" value='<?php echo serialize($array_todos_usuarios); ?>'>
  14.  
  15.  
  16.  
  17.                     </form>


Archivo 2:

Código PHP:
Ver original
  1. header('Content-type: text/csv');
  2.  
  3.  
  4.  
  5.             header('Content-Disposition: attachment; filename="'.$_POST["Datos_usuarios_segun_rol"].'.csv"');
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.             // do not cache the file
  14.  
  15.             header('Pragma: no-cache');
  16.  
  17.  
  18.  
  19.             header('Expires: 0');
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.             $array_datos_usuarios_titulo = unserialize($_POST['array_todos_usuarios_titulo']);
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.             if($_POST['array_todos_usuarios'])
  36.  
  37.  
  38.  
  39.                 {
  40.  
  41.                     $array_datos_usuarios = unserialize($_POST['array_todos_usuarios']);
  42.  
  43.                 }
  44.  
  45.  
  46.  
  47.  
  48.  
  49.             $fila = fopen("php://output","w");
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.                     foreach ($array_datos_usuarios_titulo as $titulo)
  58.  
  59.  
  60.  
  61.                         {
  62.  
  63.                             fputcsv($fila, $titulo);
  64.  
  65.                         }
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.                     foreach ($array_datos_usuarios as $dato_usuario)
  74.  
  75.  
  76.  
  77.                         {
  78.  
  79.                             fputcsv($fila, $dato_usuario);
  80.  
  81.                         }
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.             fclose($fila);



La zona horaria es GMT -6. Ahora son las 22:17.