Foros del Web » Programando para Internet » PHP »

actualizar fotos multiples

Estas en el tema de actualizar fotos multiples en el foro de PHP en Foros del Web. Tengo este formulario para crear varias fotos de un producto en una tabla aparte con el id de producto y ya estoy muy alterado de ...
  #1 (permalink)  
Antiguo 19/11/2011, 12:19
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cordoba
Mensajes: 42
Antigüedad: 12 años, 5 meses
Puntos: 0
actualizar fotos multiples


Tengo este formulario para crear varias fotos de un producto en una tabla aparte con el id de producto y ya estoy muy alterado de no poder actualizarlas, no encuentro la forma de actualizar las imagenes , el codigo que utilizo no mueve para nada y probe de mil formas, no entiendo realmente por eso pido ayuda, no puedo actualizar ni en la tabla ni en el directorio las fotos que inserto.


Código PHP:
Ver original
  1. <?php
  2. //analizar form, agregar producto
  3. if(isset($_POST['act'])){
  4. $nombre__prod = mysql_real_escape_string($_POST['N__prod']);
  5. $precio__prod = mysql_real_escape_string($_POST['P__prod']);
  6.  
  7. $detalles__prod = mysql_real_escape_string($_POST['D__prod']); 
  8. $id_ct = mysql_real_escape_string($_POST['select1']);
  9. $idsubcat = $_POST['select2'];
  10.  
  11. $img =$_FILES["archivos"];
  12. if (isset ($img)) {
  13.          //de se asi, para procesar los archivos subidos al servidor solo debemos recorrerlo
  14.          //obtenemos la cantidad de elementos que tiene el arreglo archivos
  15.          $tot = count($_FILES["archivos"]["name"]);
  16.          for ($i = 0; $i < $tot; $i++){
  17.          $name = $_FILES["archivos"]["name"][0];
  18.          $name1 = $_FILES["archivos"]["name"][1];
  19.          $name2 = $_FILES["archivos"]["name"][2];
  20.          $name3 = $_FILES["archivos"]["name"][3];
  21.          move_uploaded_file($_FILES['archivos']['tmp_name'][0],"../img_/$name");
  22.          move_uploaded_file($_FILES['archivos']['tmp_name'][1],"../img_/$name1");
  23.          move_uploaded_file($_FILES['archivos']['tmp_name'][2],"../img_/$name2");
  24.          move_uploaded_file($_FILES['archivos']['tmp_name'][3],"../img_/$name3");
  25.                     }
  26.          
  27.          }
  28.              
  29. //vemos si el nombre de producto es identico a otro producto del sistema
  30. $sql = mysql_query("SELECT id FROM productos WHERE nombreProd = '$nombre__prod' LIMIT 1 ");
  31. $P__coincidencia = mysql_num_rows($sql);
  32. if($P__coincidencia > 0){
  33.     echo 'Disculpe, trato de crear un producto que ya existe ,<a href="inventorio.php">click aca</a>';
  34.     exit();
  35.     }
  36.     $sql = mysql_query( "INSERT INTO productos(nombreProd,precio,detalles,dia_added,id_ct,subcategoria)
  37.     VALUES('$nombre__prod','$precio__prod','$detalles__prod',now(),$id_ct,'$idsubcat')") or die(mysql_error());
  38.     $pid = mysql_insert_id();
  39.  
  40.     if(isset($name)){
  41.     $sql = mysql_query( "INSERT INTO fotoxproducto(ruta_foto,idproducto)
  42.     VALUES('$name','$pid')") or die(mysql_error());}
  43.     if(isset($name1)){
  44.     $sql_1 = mysql_query( "INSERT INTO fotoxproducto(ruta_foto,idproducto)
  45.     VALUES('$name1','$pid')") or die(mysql_error());}
  46.     if(isset($name2)){
  47.     $sql_2 = mysql_query( "INSERT INTO fotoxproducto(ruta_foto,idproducto)
  48.     VALUES('$name2','$pid')") or die(mysql_error());}
  49.     if(isset($name3)){
  50.     $sql_3 = mysql_query( "INSERT INTO fotoxproducto(ruta_foto,idproducto)
  51.     VALUES('$name3','$pid')") or die(mysql_error());}
  52.     //$pid = mysql_insert_id();
  53.     //imagen
  54.     //$nw__img = "$pid.jpg";
  55.     //move_uploaded_file($_FILES['fileField']['tmp_name'],"../eCommIMG/$nw__img");
  56.     header("location: inventorio.php");
  57.     exit();
  58. }
  59. ?>
  60. <?php
  61. $productos__listados = "";
  62. $sql = mysql_query("SELECT * FROM productos ORDER BY dia_added DESC");
  63. $productos__contados = mysql_num_rows($sql);
  64. if($productos__contados > 0){
  65.     while($col = mysql_fetch_array($sql)){
  66.     $id__p = $col["id"];
  67.     $nombre__prod = $col["nombreProd"];
  68.     $dia__added = strftime("%b %d, %Y", strtotime($col["dia_added"]));
  69.     $productos__listados .= "$dia__added - $id__p - $nombre__prod  &nbsp;&nbsp;&nbsp; <a href='inventorio.php?eliminarid=$id__p'> eliminar</a> &bull; <a href='inventorio_edit.php?pid=$id__p'>editar</a><br/>" ;  
  70.     }
  71. }else{
  72.     $productos__listados = "Usted no tiene una lista de productos todavia" ;
  73. }
  74.  
  75. ?>
  76.  
  77. <body>
  78. <div class="main2">
  79.   <div class="header">
  80.     <div class="header_resize">
  81.       <div class="logo">
  82.         <h1><a href="index.html">K<span>D</span>L</a><small> Administración General</small></h1>
  83.       </div>
  84.       <div class="menu_nav">
  85.        <ul>
  86.   <li><a href="l_inventorio.php">Productos</a></li>
  87.          <li><a href=""></a></li>
  88.          <li><a href=""></a></li>
  89.               <li><a onclick="return confirmar('Esta seguro que desea salir del sistema?')"  href="../admin/index.php?out=1">
  90. <img src="images/icon_logout.png" border="0" width="30" />
  91. <span style="color:white"></span></a></li>
  92.      
  93.         </ul>
  94.         <div class="clr"></div>
  95.       </div>
  96.       <div class="clr"></div>
  97.       <div class="header_img">
  98.         <h3><center>
  99.       </center></h3>
  100.         <div class="clr"></div>
  101.       </div>
  102.     </div>
  103.   </div>
  104.   <div class="clr"></div>
  105.   <div class="content">
  106.     <div class="content_resize">
  107.       <div class="mainbar2">
  108.         <div class="article">
  109.         <form action="inventorio.php" enctype="multipart/form-data" name="miform" id="miform" method="post">
  110.           <h3>Nuevo Producto  </h3>
  111.        <table width="100%"  cellpadding="0" cellspacing="0"  >
  112.  <tr>
  113.     <td width="43%" >
  114.     <a name="inventorioform" id="inventorioform"></a>
  115. <table width="80%" cellspacing="0" cellpadding="0" align="left">
  116.   <tr>
  117.     <td ><dl>            
  118.    <dt><label><span style="font-size:medium">Imagen a Subir:</span></label></dt>
  119.         <!-- Esta div contendrá todos los campos file que creemos -->
  120.    <dd><div id="adjuntos" style="font-size:x-small;">
  121.          <!-- Hay que prestar atención a esto, el nombre de este campo debe siempre terminar en []
  122.         como un vector, y ademas debe coincidir con el nombre que se da a los campos nuevos
  123.         en el script -->
  124.    <input type="file" name="archivos[]" style="width: 215px" /><br />
  125.    </div></dd>
  126.    <dt><a href="#" onClick="addCampo()"><span style="font-size:small">Subir otra imagen</span></a></dt>      
  127.    <dd><!-- <input type="submit" value="Enviar" id="envia" name="envia" /> --></dd>
  128.      </dl></td>
  129.   </tr>
  130.   <tr>
  131.     <td width="166" ><strong>Nombre</strong></td>
  132.    
  133.     <td colspan="4"><label for="textfield"></label>
  134.       <input name="N__prod" type="text" id="N__prod" size="40" style="width: 180px" /></td>
  135.   </tr>
  136.   <tr>
  137.     <td style="height: 12px" ></td>
  138.     <td colspan="4" style="height: 12px"></td>
  139.   </tr>
  140.  
  141.   <tr>
  142.     <td style="height: 18px"><strong>Precio</strong></td>
  143.     <td colspan="4" style="height: 18px"><label for="textfield2"></label>
  144.       <input name="P__prod" type="text" id="P__prod" size="40" style="width: 180px" /></td>
  145.   </tr>
  146.     <?php
  147. function generaSelect()
  148. {
  149.     include 'conexion.php';
  150.     //include '../includes/sesionID.php';
  151.     conectar();
  152.     $consulta=mysql_query("SELECT id_categoria, nombre_ct FROM categorias where id_subcategoria = 0 ");
  153.     desconectar();
  154.  
  155.     // Voy imprimiendo el primer select compuesto por los paises
  156.     echo "<select name='select1' id='select1' onChange='cargaContenido(this.id)' style='width:180px;'>";
  157.     echo "<option value='0'>Elige</option>";
  158.     while($registro=mysql_fetch_row($consulta))
  159.     {
  160.         echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
  161.     }
  162.     echo "</select>";
  163. }
  164. ?>
  165.  
  166.       <tr>
  167.         <td style="height: 76px"><strong>Categoria<br/>Subcategoria</strong></td>
  168.       <td colspan="4" style="height: 76px">
  169.  
  170.         <div id="demo" style="width:600px;">
  171.         <div id="demoIzq"><?php generaSelect(); ?></div>
  172.                
  173.                 <div id="demoMed">
  174.                     <select disabled="disabled" name="select2" id="select2" style="width:180px;">
  175.                         <option value="0">Selecciona opci&oacute;n...</option>
  176.                     </select>
  177.                 </div>
  178.                 <div id="demoDer">
  179.                 <!--<input type="hidden" name="select3" id="select3" style="width: 180px"/>
  180.                     <select disabled="disabled" name="select3" id="select3">
  181.                         <option value="0">Selecciona opci&oacute;n...</option>
  182.                     </select>
  183.                 </div>-->
  184.             </div>
  185.  
  186.  
  187.  
  188. <!--  <select name="cate" id="cate">
  189.      <?php  
  190.        
  191.    $sql_ct = mysql_query("SELECT * FROM categorias where id_subcategoria = 0");
  192.  
  193.      while($row = mysql_fetch_row($sql_ct)) {
  194. echo " <option";
  195.  
  196. if ($sql_ct == $row) { echo " selected"; }
  197. echo " value=";
  198. echo $row[0] ;
  199. echo ">", $row[1],"</option>\n";
  200. } ?>
  201.       </select>-->
  202.      
  203.       </td>
  204.   </tr>    
  205.       <tr>
  206.         <td>&nbsp;</td>
  207.       <td colspan="4">
  208.      <!-- <select name="subcate" id="subcate">
  209.      <?php  
  210.        
  211.    $sql_st = mysql_query("SELECT * FROM categorias where id_subcategoria <> 0");
  212.  
  213.      while($row = mysql_fetch_row($sql_st)) {
  214. echo " <option";
  215.  
  216. if ($sql_st==$row) { echo "selected"; }
  217. echo " value=";
  218. echo $row[0] ;
  219. echo ">", $row[1],"</option>\n";
  220. } ?>
  221.       </select>--></td>
  222.   </tr>    
  223. <?php  /** TO DO */
  224.        /* insertar en area de texto palabras claves para la busqueda del producto */    
  225.   ?>
  226.       <tr>
  227.         <td></td>
  228.         <td colspan="4"></td>
  229.       </tr>
  230.   <tr>
  231.     <td><strong>Descripci&oacute;n</strong></td>
  232.     <td colspan="4"><label for="textarea"></label>
  233.       <textarea name="D__prod" id="D__prod" rows="5" style="width: 232px"></textarea></td>
  234.   </tr>
  235.   <tr>
  236.     <td><input type="hidden" name="act" value="1"/></td>
  237.     <td colspan="4"><input type="submit" name="button" id="button" value="Enviar" onclick="javascript:return validarMyForm();" /></td>
  238.   </tr>
  239. </table>
  240. </td></tr>
  241.  
  242.   </table>
  243.   </form></div>

tablas

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `productos` (
  2.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  3.   `nombreProd` VARCHAR(245) NOT NULL,
  4.   `precio` VARCHAR(16) NOT NULL,
  5.   `detalles` text NOT NULL,
  6.   `id_ct` INT(16) NOT NULL,
  7.   `subcategoria` VARCHAR(50) NOT NULL,
  8.   `dia_added` DATE NOT NULL,
  9.   PRIMARY KEY (`id`),
  10.   UNIQUE KEY `nombreProd` (`nombreProd`)
  11. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=51 ;
  12.  
  13.  
  14. CREATE TABLE IF NOT EXISTS `fotoxproducto` (
  15.   `idf` INT(255) NOT NULL AUTO_INCREMENT,
  16.   `ruta_foto` VARCHAR(50) NOT NULL,
  17.   `idproducto` INT(11) NOT NULL,
  18.   PRIMARY KEY (`idf`)
  19. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;
  #2 (permalink)  
Antiguo 19/11/2011, 13:04
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: actualizar fotos multiples

Para comenzar, si en el for() vas a recorrer todas las imagenes, no requieres asignar nombre y tratar de mover cada imagen y tambien deberias verificar si realmente se subio un archivo

Código PHP:
Ver original
  1. for ($i = 0; $i < $tot; $i++){
  2.          // Se subio archivo?
  3.          if($_FILES['archivos']['error'] == 0) {
  4.                  $name = $_FILES["archivos"]["name"][$i];
  5.                  // Lo podemos copiar a la carpeta de destino?
  6.                  if(move_uploaded_file($_FILES['archivos']['tmp_name'][0],"../img_/$name")) {
  7.                       // Aqui actualizas base de datos o almacenas en variables para guardar al salir del for
  8.                  } else {
  9.                       echo "No se pudo copiar $i ($name)<br />";
  10.                  }
  11.          } else {
  12.                  echo "No se subio archivo en $i<br />";
  13.          }
  14. }
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: formulario, fotos, html, imagenes, multiples, mysql, registro, 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 11:58.