Foros del Web » Programando para Internet » PHP »

consulta 2 foreach par ingreso a base

Estas en el tema de consulta 2 foreach par ingreso a base en el foro de PHP en Foros del Web. Hola tengo un formulario que me crea campos dinamicamente dos input uno es archivo y el otro decripcion El problema lo estoy teniendo cuando recorro ...
  #1 (permalink)  
Antiguo 18/08/2009, 07:43
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 15 años, 10 meses
Puntos: 0
consulta 2 foreach par ingreso a base

Hola tengo un formulario que me crea campos dinamicamente dos input uno es archivo y el otro decripcion

El problema lo estoy teniendo cuando recorro los arrays qeu recibo del formulario
Asi venia obteniendo el array de los input de las imagenes y renombraba y movia los archivos y cargaba a la base todo ok

Código PHP:

foreach ($_FILES["archivos"]["error"] as $key => $error) {
if (
$error == UPLOAD_ERR_OK) {
    
    
$tmp_name $_FILES["archivos"]["tmp_name"][$key];
    
$name $_FILES["archivos"]["name"][$key];
    
    list(
$n,$e) = explode(".",$name);
    
$name uniqid('bc') . '.' $e
    
move_uploaded_file($tmp_name$dire $name ); 
    
    include_once(
"funciones/clase_db.php");
    
$db = new db(true);
    
$db->setTable('galeria_servicios');
    

    if (
$db -> insert(array('id_servicio' => $id_servicio,'nombre_i' => $name))){
          
        }else{echo 
"error";}
        
//fin carga

    
    
echo '<div id="respuesta">archivos cargados con exito </div>';
}
    


Pero como le agregue un campo mas al input dinamico ahora recibo dos arrays el de las imagenes y el de la descripcion he intentado varias cosas incluso incluyendo un break 2; para que me corte los bucles porque me estaba cargando las cosas por duplicado pero tampoco funciono dejo lo que intente para dar una idea.

Código PHP:
foreach ($_FILES["archivos"]["error"] as $key => $error) {
if (
$error == UPLOAD_ERR_OK) {
    
    
$tmp_name $_FILES["archivos"]["tmp_name"][$key];
    
$name $_FILES["archivos"]["name"][$key];
    
    list(
$n,$e) = explode(".",$name);
    
$name uniqid('bc') . '.' $e
    
move_uploaded_file($tmp_name$dire $name ); 
    
    include_once(
"funciones/clase_db.php");
    
$db = new db(true);
    
$db->setTable('galeria_servicios');
    
       foreach(
$_POST["descripcion"] as $desc){

    if (
$db -> insert(array('id_servicio' => $id_servicio,'nombre_i' => $name,'descripcion' => $desc))){
         
        }else{echo 
"error";}
        
//fin carga

    
}
    echo 
'<div id="respuesta">archivos cargados con exito </div>';
}
    


espero haber podido explicarme, como siempre gracias y saludos, para resumir por las dudas el tema es qeu recibo dos arrays y los tengo que recorrer y cargar los datos.
  #2 (permalink)  
Antiguo 18/08/2009, 10:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: consulta 2 foreach par ingreso a base

No tienes que hacer 2 foreach, ya que eso hace que se ejecute varias veces, más bien debes de hacer un contador y un for() para extraer los datos.

Saludos.
  #3 (permalink)  
Antiguo 18/08/2009, 11:20
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: consulta 2 foreach par ingreso a base

gracias por la respuesta GatorV pero por ejemplo un ejemplo de for seria algo asi

Código PHP:
<?
for ($size=1;$size<=6;$size++)
{
   echo
"<font size=$size>Tamaño $size</font><br>\n";
}
?>

pero no veo como aplicarlo en mi caso

d muchas gracias , saludos
  #4 (permalink)  
Antiguo 18/08/2009, 11:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: consulta 2 foreach par ingreso a base

Revisa este ejemplo:
Código PHP:
Ver original
  1. $total = count($_POST["descripcion"]);
  2. for($i = 0; $i < $total; $i++) {
  3.       $file = $_FILES['archivos']['name'][$i];
  4.       $descripcion = $_POST['descripcion'][$i];
  5.  
  6.       var_dump($file);
  7.       var_dump($descripcion);
  8. }

Saludos.
  #5 (permalink)  
Antiguo 18/08/2009, 12:05
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: consulta 2 foreach par ingreso a base

me has dado una gran mano incluso para entender como funciona correctamente.

muchas gracias nuevamente. saludos
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 14:19.