Foros del Web » Programando para Internet » PHP »

PHP OO problema con Arrays en PHP

Estas en el tema de problema con Arrays en PHP en el foro de PHP en Foros del Web. Hola, estoy desarrollando una aplicación que primero hace una consulta a una BD y la guardo en un array de esta manera: Código: if(mysqli_num_rows($query) > ...
  #1 (permalink)  
Antiguo 12/05/2014, 16:46
 
Fecha de Ingreso: junio-2013
Ubicación: Monterrey, NL
Mensajes: 1
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta problema con Arrays en PHP

Hola,

estoy desarrollando una aplicación que primero hace una consulta a una BD y la guardo en un array de esta manera:

Código:
if(mysqli_num_rows($query) > 0)
 {
    while ($tsArray = mysqli_fetch_assoc($query))
       $data[] = $tsArray;   
  return $data;
 }
esta consulta la muestro en una tabla en una vista de la siguiente manera:

Código:
<?php foreach ($tsArray as $data): ?>
    <tr>
      <td><?php echo $data['id_product'];?></td>
      <td><?php echo $data['name'];?></td>
      <td><?php echo $data['reference'];?></td>
      <td><?php echo $data['price'];?></td>
    </tr>
<?php endforeach; ?>
hasta aquí todo bien, el problema viene porque en esa vista aparte cargo un archivo CSV y trato de guardarlo de la siguiente manera en otro array:

Código:
$file = fopen($_FILES["file"]["tmp_name"], 'r');    
  while (($line = fgetcsv($file)) !== FALSE) { 
    $cargaArray[] = $line;
   }
fclose($file);
aquí se que tengo un error porque no se si me esta guardando cada fila en el array o me borra la primera y graba la otra y así sucesivamente...

si alguien me puede apoyar en eso explico lo que seguiría después. Esos 2 arrays los quiero juntar en un 3ero, porque? porque en el primer array($data[]) estan los datos de esta manera:

ID | nombre | referencia | precio actual
1 XXX ACB-12 20.000000
2 XXA CDF-01 100.000000

y en el segundo array que viene desde un .csv están así:

referencia | precio nuevo
ACB-12 25.000000
CDF-01 110.000000

al final solo quiero un array para mostrarlo en una vista con una tabla así:

ID | nombre | referencia | precio actual | precio nuevo

ya despues con ese array hare un update a la base de datos pero eso ya es otro show.

al final los problemas son:
1) Le falta algo a mi código donde guardo cada fila del CSV en el array?
2) Como concateno los 2 arrays para generar ese arreglo que busco?

les agradezco cualquier ayuda o comentario.

Un saludo!
  #2 (permalink)  
Antiguo 13/05/2014, 02:15
 
Fecha de Ingreso: abril-2013
Mensajes: 61
Antigüedad: 11 años, 1 mes
Puntos: 4
Respuesta: problema con Arrays en PHP

yo haria algo asi, me guardaria toda la info en un array, pero de indice utilizaria la "referencia"

Código PHP:
Ver original
  1. if(mysqli_num_rows($query) > 0)
  2.  {
  3.     while ($tsArray = mysqli_fetch_assoc($query))
  4.        $data[$tsarray['reference']] = $tsArray;  
  5.   return $data;
  6.  }

Si tienes problemas para recorrer el csv (igual lo tuyo funcione), yo los suelo recorrer asi

Código PHP:
Ver original
  1. $archivo = file('archivo.csv');
  2. $lineas = count($archivo);
  3.  
  4. for($k=0; $k < $lineas;$k++){
  5.  
  6.      $temp = explode(',',$archivo[$k])
  7.  
  8.      $data[$temp[0]] ['precionuevo'] =  $temp[1];
  9.  
  10. }


Bueno, igual hay mejores maneras de hacerlo, pero es una idea :)

Etiquetas: arrays, mysql, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:48.