Ir al contenido



Foto

Ayuda con guardar datos desde un foreach


  • Por favor identifícate para responder
3 respuestas en este tema

#1 ricardo777

ricardo777

    Newbie

  • Miembros
  • Pip
  • 7 mensajes

Escrito 05 junio 2018 - 09:16

buen dia señores les escribo para pedirles una ayuda con lo siguiente
estoy recuperando datos desde una base de datos pero son tantos que es mas facil recibirlos en un array, los recibo y tengo que guardar esos mismo datos en otra tabla la inquietud es que mando guardar otros datos los guarda pero justo los campos que recupero mediante foreach no guarda aqui un fragmento

No se si me puiedan ayudar o comentar para hacerlo de otra manera y ya intente con fetchassoc no sale
form donde recibo los datos de base
 

php
  1. <td align="center" ><input type="text" name="dat[]" value="<?php echo $obtenerDatosBienes['razonsocial'];?>"></td>
  2. <td align="center"><input type="text" name="dat[]"value="<?php echo $obtenerDatosBienes['ruc'];?>"></td>
  3. <td align="center"><input type="text" name="dat[]"value="<?php echo $obtenerDatosBienes['desclote'];?>"></td>
  4.  
  5. foreach ($recibir as $rec => $valor)
  6. {
  7.  
  8.  
  9. $partes = explode(" ", $valor);
  10. $partes[0].'<br> ';//razon social
  11. $partes[1].'<br>';//ruc
  12. $partes[2].'<br> ';//parametro
  13. $partes[3].'<br> ';//evaluacion
  14. $partes[4].'<br> ';//rason evaluacion
  15. echo"<br>";
  16. echo $partes[0].'<br> ';//razon social
  17. echo $partes[1].'<br>';//ruc
  18. echo $partes[2].'<br> ';//parametro
  19. echo $partes[3].'<br> ';//evaluacion
  20. echo $partes[4].'<br> ';//
  21. obj->guardar($partes[0],$partes[1],$partes[2]); //tengo que utilizar este metodo


  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.324 mensajes
  • LocationRepública Dominicana

Escrito 06 junio 2018 - 09:33

Si es para guardar los datos, ¿por qué lo muestras y guardas al mismo tiempo en el foreach?,de todos modos, no has puesto el código del método "guardar", porque pienso que es más fácil pasar el arreglo directamente como parámetro en vez de pasarlos por separados, me explico:


php
  1. $recibir = $_POST['dat'];
  2.  
  3. obj->guardar($recibir); //en el método es donde deberías recorrer el arreglo y guardar los datos.

publica el código del método guardar.

 

Saludos.


  • 0

#3 ricardo777

ricardo777

    Newbie

  • Miembros
  • Pip
  • 7 mensajes

Escrito 06 junio 2018 - 02:29

no lo puedo recorrer en el mismo metodo ya que tengo que complemetar con otros datos que recupero mediante variable de sesion


php
  1. public function guardar($val1, $val2, $val2, $val2, $val2, $val2, $val2, $val2, $n_ValorReal, $n_PersonaId, $vall) {
  2.         $this->setval($val1);
  3.         $this->setval($val2);
  4.         $this->setval($val2);
  5.         $this->setval($val2);
  6.         $this->setval($val2);
  7.         $this->setval($val2);
  8.         $this->setval($val2);
  9.         $this->setValval($val2);
  10.         $this->setValorReal($val2);
  11.         $this->setPersonaId($n_PersonaId);
  12.         $this->setIdLote($vall);
  13.         return $this->nuevo('registarregistro');//  este es un metodo donde se envian las variables anteriores de guardado a la base de datos

como dije anteriormente no puedo solo mandarle el array tengo que complementar ; es eso posible?


  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.324 mensajes
  • LocationRepública Dominicana

Escrito 06 junio 2018 - 04:23

A ver, puedes postear aquí el resultado de $_POST['dat']?, haz esto y luego pega el resultado aquí:


php
  1. print '<pre>'; print_r($_POST['dat']); print '</pre>';

Porque me resulta bastante extraño el explode que estás utilizando, si ya de por sí viene como un arreglo, aunque yo te aconsejo que en el formulario le pongas un nombre asociativo al arreglo dat[], algo como ésto:


php
  1. <td align="center" ><input type="text" name="dat[razonsocial]" value="<?php echo $obtenerDatosBienes['razonsocial'];?>"></td>
  2. <td align="center"><input type="text" name="dat[ruc]" value="<?php echo $obtenerDatosBienes['ruc'];?>"></td>
  3. <td align="center"><input type="text" name="dat[desclose]" value="<?php echo $obtenerDatosBienes['desclote'];?>"></td>

así en el foreach haces esto:


php
  1. foreach($recibir as $key => $valor)
  2. {
  3. echo $valor['razonsocial'] . '<br />';
  4. echo $valor['ruc'] . '<br />';
  5. echo $valor['desclose'] . '<br />';
  6. }

Espero el resultado del $_POST.

 

Saludos.


  • 0