Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/11/2011, 00:33
albertrc
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: utilizar la variable $categorías = $_GET['categorías']; en varias selects

no funciona el update

el problema esta en la linea 120 en el for no le llega el numero a la variable $contar_numero_filas_categoria_productos_select

en el bucle for no le llega el contador, he puesto un 8 y he probado una categoría que tenia 8 productos y me ha funcionado, como puedo hacer para que al contador le llegue el numero en función de su categoría y producto
se tendría que enviar por get o post o hidden

de alguna forma tendría que conservar la categoría y así podría tener la categoría y saber cuantos productos hay entre la categoría y productos hasta que no cambiara de categoría no perder este valor, ademas después de hacer un update o mas de uno volvería a necesitar la categoría para hacer un select para saber que productos se han actualizado

en definitiva que hasta que no vuelva a pulsar sel boton submit del primer formulario no perder el valor de la categoria, este como puedo hacerlo


Código PHP:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.         <title></title>
  6.     </head>
  7.     <body>     
  8.   <?php
  9.    $hostname="***********";
  10.    $user="*********";
  11.    $password="*********";
  12.    $database="*********";
  13.    $link = mysqli_connect($hostname,$user,$password,$database);
  14.    
  15.    mysqli_query ($link,'SET NAMES "utf8" ');
  16.    $query_categorias_select =
  17.    "SELECT *
  18.    FROM categorias";
  19.    $result_categorias_select = mysqli_query($link,$query_categorias_select);
  20.    
  21.    $contar_numero_categorias_select = mysqli_num_rows($result_categorias_select);
  22.   ?>
  23.  
  24.     <form action="precio_final.php" method="get">
  25.         <h1>Precios (Mirar o Actualitzar)</h1>
  26.         <label for="categorias">Categorias</label><br/>
  27.         <select id="categorias" name="categorias" size="<?php echo $contar_numero_categorias_select?>" multiple="multiple">
  28.         <?php
  29.             while($row_categorias_select = mysqli_fetch_array($result_categorias_select, MYSQLI_ASSOC))
  30.             {
  31.         ?>
  32.             <option value="<?php echo  $row_categorias_select['nombre_categoria_pc']?>">
  33.             <?php echo ucfirst($row_categorias_select['nombre_categoria_usuario']) ?> </option>      
  34.         <?php
  35.             }
  36.         ?>
  37.          </select>
  38.          <br/>
  39.          <br/>
  40.         <input type="submit" name="seleccionar_categoria" value="Selecciona Categoria"/>
  41.     </form>
  42.  
  43.   <?php
  44.  
  45.     /**************************************/
  46.     if (isset($_GET['seleccionar_categoria']))
  47.     {
  48.     $categorias = $_GET['categorias'];
  49.  
  50.    
  51.     $hostname="*********";
  52.     $user="********";
  53.     $password="********";
  54.     $database="**********";
  55.     $link = mysqli_connect($hostname,$user,$password,$database);
  56.    
  57.     mysqli_query ($link,'SET NAMES "utf8" ');
  58.     $query_categoria_productos_select ="
  59.     SELECT
  60.     categorias.nombre_categoria_usuario,
  61.     productos.nombre_producto_pc,
  62.     productos.nombre_producto_usuario,
  63.     productos.ruta_foto_pequeña,
  64.     productos.precio_producto_kg
  65.     FROM productos INNER JOIN categorias
  66.     ON productos.categorias_nombre_categoria_pc = categorias.nombre_categoria_pc
  67.     WHERE categorias.nombre_categoria_pc = \"" .  $categorias . "\";";
  68.     $result_categoria_productos_select = mysqli_query($link,$query_categoria_productos_select);
  69.  
  70.     $contar_numero_filas_categoria_productos_select = mysqli_num_rows($result_categoria_productos_select);
  71.     ?>
  72.     <form action="precio_final.php" method="get">
  73.         <table>
  74.     <?php
  75.         $contador_categoria = 0;
  76.         while($row_categoria_productos_select = mysqli_fetch_array($result_categoria_productos_select, MYSQLI_ASSOC))
  77.         {
  78.     ?> 
  79.         <?php
  80.             if($contador_categoria == 0)
  81.             {
  82.         ?>
  83.             <td><h2><?php echo $row_categoria_productos_select['nombre_categoria_usuario']?></h2></td>
  84.         <?php
  85.             }
  86.         ?>
  87.         <tr>  
  88.         <td><?php echo $row_categoria_productos_select['nombre_producto_usuario']?></td>
  89.         <td><?php echo $row_categoria_productos_select['ruta_foto_pequeña']?></td> 
  90.         <td><input type="hidden" name="nombre_producto_pc[]"  
  91.         value="<?php echo $row_categoria_productos_select['nombre_producto_pc']?>"></td><br/></br/>
  92.         <td><input type="text" name="precio_producto_kg[]" size="5" maxlength="5"
  93.         value="<?php echo number_format($row_categoria_productos_select['precio_producto_kg'], 2, ',','.')?>"> €</td>
  94.         </tr>      
  95.         <?php
  96.             $contador_categoria++;
  97.         }
  98.         ?>         
  99.         </table>
  100.         <input type="submit" name="actualitzar_precios" value="Actualitzar Precios" />  
  101.     </form>
  102.    
  103.     <?php
  104.     }
  105.     /************************************/
  106.    
  107.     if (isset($_GET['actualitzar_precios']))
  108.     {
  109.         $nombre_producto_pc = $_GET['nombre_producto_pc'];
  110.    
  111.         $precio_producto_kg = $_GET['precio_producto_kg'];
  112.  
  113.         $hostname="************";
  114.         $user="************";
  115.         $password="*********";
  116.         $database="**********";
  117.         $link = mysqli_connect($hostname,$user,$password,$database);
  118.         mysqli_query ($link,'SET NAMES "utf8" ');
  119.  
  120.         for($precios_categoria_productos_updates = 0; $precios_categoria_productos_updates < $contar_numero_filas_categoria_productos_select; $precios_categoria_productos_updates++ )
  121.         {  
  122.             $query_precios_categoria_productos_updates =
  123.             'UPDATE productos
  124.             SET precio_producto_kg=' .  number_format($precio_producto_kg[$precios_categoria_productos_updates], 2, '.',',') .
  125.             ' WHERE nombre_producto_pc=  \'' . $nombre_producto_pc[$precios_categoria_productos_updates] . '\';';
  126.             $result_precios_categoria_productos_updates = mysqli_query($link,$query_precios_categoria_productos_updates);
  127.         }  
  128.     ?>
  129.         </table>
  130.     </form>
  131.     <?php  
  132.     }
  133.     ?>
  134.     </body>
  135. </html>

Última edición por albertrc; 16/11/2011 a las 22:46