Hola amigos, escribo por aqui en busca de ayuda, y si alguien me puede ayudar se que sn ustedes.
tengo el siguiente ejercicio en problema ya que estoy intentando realizar un update multiple en una sola.
estoy enviando por medio de ajax las variables estas variables contienen los ID de la tabla mysql con esos ID hago un while para obtner ciertos campos los cuales llevo en un array. pero a la misma ves quiero hacer un update a un campo en la tabla donde el ID sea los ID que recoja la variable enviada en ajax.
logro hacer el update, pero me lo hace la cantidad igual al numero de ID recogidos me explico estoy intentando hacer esto.
tengo lo siguiente:
Código PHP:
Tabla : oferts
campo : ID
campo: rest ( es un numero ejemplo 200 )
ejecuto :
include('config.php');
$jsondata = array();
//$auctions=$_POST['clave']; // esta la variable que recibo con ajax la cual contiene esto:
$auctions = '3&4&5&6&'; // son los ID , actualmente recibo 4 pero puede variar ser mas o ser menos.
$extraer=explode("&", $auctions);
$arr =($extraer);
$id = $arr;
if( is_array($id) ) {
$id = array_map('intval', $id);
$querywhere = "WHERE `ID` IN (" . implode( ',', $id ) . ")";
} else {
$id = intval($id);
$querywhere = "WHERE `ID` = " . $id;
}
$very2 = mysql_query( "SELECT * FROM `oferts` " . $querywhere ) or die(mysql_error());
$result = mysql_num_rows($very2);
while ($obj = mysql_fetch_object($very2)) {
$arr2 = array('ID' => $obj->id,
'T' => $obj->time,
'R' => $obj->rest,
'OF' => $obj->ofertante,
);
$restar="UPDATE oferts SET rest = rest - '1' '". $querywhere;
mysql_query($restar,$con) or die('Error. '.mysql_error());
// pero resulta que en ves de restarme uno me resta es la cantidad de id recibidos,
//ejemplo actualemnte recibo 4 ID (3,4,5,6) en la variable que envia ajax y este UPDATE me resta 4
//en vez de uno, si recibo 6 ID en la variable me resta 6. y no entiendo como hacer que solo
//me reste 1 en cada uno de los ID recibidos.
$jsondata[]['A']=$arr2;
}
echo json_encode($jsondata,JSON_FORCE_OBJECT);
exit();
espero puedan ayudarme amigos.