Comunidad de diseño web y desarrollo en internet online

Update masivo sintaxis ?

Citar            
MensajeEscrito el 18 Ago 2017 04:56 pm
Hola, quiero hacer un update masivo de varios registros en php/mysql pero no me acaba de funcionar. Creo que puede ser algún problema de sintaxis.
Os pongo mi configuración

primero el formulario:

<?php

$id = $_GET['id'];
$numero = $_GET['numero'];

?>
<html>
<head>
<title>Edit Data</title>
</head>

<body>
<a href="index.php">Home</a>
<br/><br/>
<form name="form1" method="post" action="edit.php">
<table border="0">

<?php
$result = mysqli_query($mysqli, "SELECT * FROM albaranes WHERE numero=$numero");
$count = 1;
while($res = mysqli_fetch_array($result))
{
$id = $res['id'];
$fecha = $res['fecha'];
$numero = $res['numero'];
$id_cliente = $res['id_cliente'];
$cantidad = $res['cantidad'];
$id_producto = $res['id_producto'];
?>
<input type="hidden" name="id[]" value="<?php echo $id;?>" />
<tr>
<td>Fecha</td>
<td><input type="date" name="fecha[]" value="<?php echo $fecha;?>"></td>
</tr>
<tr>
<td>numero</td>
<td><input type="text" name="numero[]" value="<?php echo $numero;?>"></td>
</tr>
<tr>
<td>Id_cliente</td>
<td><input type="text" name="id_cliente[]" value="<?php echo $id_cliente;?>"></td>
</tr>
<tr>
<td>Cantidad</td>
<td><input type="text" name="cantidad[]" value="<?php echo $cantidad;?>"></td>
</tr>
<tr>
<td>Id_producto</td>
<td><input type="text" name="id_producto[]" value="<?php echo $id_producto;?>"></td>
</tr>

<?php
$count++;
}
?>
<td><input type="hidden" name="count" value=<?php echo $count;?>></td>
<td><input type="submit" name="update" value="Update"></td>
</tr>
</table>
</form>

</body>

Ahora el update:

if(isset($_POST['update']))
{

$count = $_POST['count'];

for ($i=0;$i<$count;$i++) {
$result = mysqli_query($mysqli, "UPDATE albaranes SET fecha='"$_POST['fecha'][$i]"',numero='"$_POST['numero'][$i]"',id_cliente='"$_POST['id_cliente'][$i]"',cantidad='"$_POST['cantidad'][$i]"',id_producto='"$_POST['id_producto'][$i]"' WHERE id='"$_POST['id'][$i]"'");
}

}
?>

Simplemente no me actualiza nada. He probado todo tipo de sintaxis "" ' ' jugando con las comillas, quitandoselas, etc.

Si alguien puede ayudarme se lo agradecería

gracias

Por mandevnull

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 18 Ago 2017 09:20 pm
Para debugear quer lo mas simple es imprimirlas y pegarlas en un admin de la db por ejemplo phpmyadmyn. Al final creo que te sobran unas comillas, anyway

Código PHP :

$qry = "UPDATE albaranes SET fecha='"$_POST['fecha'][$i]"',numero='"$_POST['numero'][$i]"',id_cliente='"$_POST['id_cliente'][$i]"',cantidad='"$_POST['cantidad'][$i]"',id_producto='"$_POST['id_producto'][$i]"' WHERE id='"$_POST['id'][$i]"';
echo $qry."<br>";
$result = mysqli_query($mysqli, $qry);


Copialo del navegador y pegalo en phpmyadmin para ejecutar el SQL, si hay error te lo canta. Tambien podes poner

if(mysqli_error($mysqli)) echo mysqli_error($mysqli);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.