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<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$hostname="***********";
$user="*********";
$password="*********";
$database="*********";
$query_categorias_select =
"SELECT *
FROM categorias";
$result_categorias_select = mysqli_query($link,$query_categorias_select);
$contar_numero_categorias_select = mysqli_num_rows($result_categorias_select); ?>
<form action="precio_final.php" method="get">
<h1>Precios (Mirar o Actualitzar)</h1>
<label for="categorias">Categorias</label><br/>
<select id="categorias" name="categorias" size="<?php echo $contar_numero_categorias_select?>" multiple="multiple">
<?php
while($row_categorias_select = mysqli_fetch_array($result_categorias_select, MYSQLI_ASSOC
)) {
?>
<option value="<?php echo $row_categorias_select['nombre_categoria_pc']?>">
<?php echo ucfirst($row_categorias_select['nombre_categoria_usuario']) ?> </option>
<?php
}
?>
</select>
<br/>
<br/>
<input type="submit" name="seleccionar_categoria" value="Selecciona Categoria"/>
</form>
<?php
/**************************************/
if (isset($_GET['seleccionar_categoria'])) {
$categorias = $_GET['categorias'];
$hostname="*********";
$user="********";
$password="********";
$database="**********";
$query_categoria_productos_select ="
SELECT
categorias.nombre_categoria_usuario,
productos.nombre_producto_pc,
productos.nombre_producto_usuario,
productos.ruta_foto_pequeña,
productos.precio_producto_kg
FROM productos INNER JOIN categorias
ON productos.categorias_nombre_categoria_pc = categorias.nombre_categoria_pc
WHERE categorias.nombre_categoria_pc = \"" . $categorias . "\";";
$result_categoria_productos_select = mysqli_query($link,$query_categoria_productos_select);
$contar_numero_filas_categoria_productos_select = mysqli_num_rows($result_categoria_productos_select); ?>
<form action="precio_final.php" method="get">
<table>
<?php
$contador_categoria = 0;
while($row_categoria_productos_select = mysqli_fetch_array($result_categoria_productos_select, MYSQLI_ASSOC
)) {
?>
<?php
if($contador_categoria == 0)
{
?>
<td><h2><?php echo $row_categoria_productos_select['nombre_categoria_usuario']?></h2></td>
<?php
}
?>
<tr>
<td><?php echo $row_categoria_productos_select['nombre_producto_usuario']?></td>
<td><?php echo $row_categoria_productos_select['ruta_foto_pequeña']?></td>
<td><input type="hidden" name="nombre_producto_pc[]"
value="<?php echo $row_categoria_productos_select['nombre_producto_pc']?>"></td><br/></br/>
<td><input type="text" name="precio_producto_kg[]" size="5" maxlength="5"
value="
<?php echo number_format($row_categoria_productos_select['precio_producto_kg'], 2, ',','.')?>"> €</td>
</tr>
<?php
$contador_categoria++;
}
?>
</table>
<input type="submit" name="actualitzar_precios" value="Actualitzar Precios" />
</form>
<?php
}
/************************************/
if (isset($_GET['actualitzar_precios'])) {
$nombre_producto_pc = $_GET['nombre_producto_pc'];
$precio_producto_kg = $_GET['precio_producto_kg'];
$hostname="************";
$user="************";
$password="*********";
$database="**********";
for($precios_categoria_productos_updates = 0; $precios_categoria_productos_updates < $contar_numero_filas_categoria_productos_select; $precios_categoria_productos_updates++ )
{
$query_precios_categoria_productos_updates =
'UPDATE productos
SET precio_producto_kg=' . number_format($precio_producto_kg[$precios_categoria_productos_updates], 2, '.',',') . ' WHERE nombre_producto_pc= \'' . $nombre_producto_pc[$precios_categoria_productos_updates] . '\';';
$result_precios_categoria_productos_updates = mysqli_query($link,$query_precios_categoria_productos_updates); }
?>
</table>
</form>
<?php
}
?>
</body>
</html>