Cita:
Iniciado por manuparquegiralda
Prueba con esto:
Código PHP:
Ver original<?php
$resta = array(0 => 4, 1 => 0, 2 => 11); $id = array(0 => 1, 1 => 6);
echo "Arrays originales:<br>";
echo "<br>Arrays arreglados:<br>";
?>
Te dará este resultado:
Código PHP:
Arrays originales:
Array
(
[0] => 4
[1] => 0
[2] => 11
)
Array
(
[0] => 1
[1] => 6
)
Arrays arreglados:
Array
(
[0] => 4
[1] => 11
)
Array
(
[0] => 1
[1] => 6
)
Eso mismo necesitaba todo fue gracias al array_values ?


Gracias Manu el mejor, conoces un metodo para mandar mi array que es de varios Update a mysql? yo estaba investigando y consegui fue este, a un que no se como implementar mi codigo ahi.
Código PHP:
$array_ids = array(1 = 'nuevonombre 1', 3 = 'nuevonombre 3', 4 = 'nuevonombre 4');
Código PHP:
$ids = implode(',', array_keys($array_ids)); $sql = "UPDATE discos SET precio = CASE id "; foreach ($aray_ids as $id => $valor) { $sql .= sprintf("WHEN %d THEN %d ", $id, $valor); } $sql .= "END WHERE id IN ($ids)"; echo $sql;
Este fue el que yo hice pero el mysql no me lo recibe, si lo pongo en la consola si funciona pero enviando por el php No. estoy usando tu ciclo for
Código PHP:
<?php
$resta = array(0 => 4, 1 => 0, 2 => 11);
$id = array(0 => 1, 1 => 6);
echo "Arrays originales:<br>";
print_r($resta);
print_r($id);
$resta = array_values(array_filter($resta));
echo "<br>Arrays arreglados:<br>";
print_r($resta);
print_r($id);
$str = "";
for($k=0; isset($resta[$k]); $k++) {
$str .= "UPDATE inventario.registro SET unidades_r = unidades_r - ".$resta[$k]." WHERE ID_R = ".$id[$k].";";
}
$sql = $str;
mysql_query($sql);
echo "<br><br>$str";
?>