Hola buenos días, soy nuevo en esto del myql/php y esoy implementando una intranet. Hay un momento en que sale un listado de categorias previamente cogidas de otra tabla que se llama categorias. Pues bien, he hecho que se muestren en inputs para que se puedan modificar una vez hayas apretado al boton modificar.
Este boton modificar llama a un php en el que cojo primero el valor antiguo del campo categoria y loc argo en un array que se llama $categorias_old y despues ejecuto un update para que me cambie la categoria que se ha enviado por post, teniendo en cuenta el campo usuario y el campo categoria antiguo:
Código PHP:
$cat0 = "select categoria from categorias where user='".$_POST['user']."'";
$consulta0 = mysql_query($cat0,$con);
$contador = 0;
while($row= mysql_fetch_array($consulta0)){
$categorias_old[$contador] = $row['categoria'];
$contador++;
}
$categorias = explode('_',$_POST['array']);
for($i=0;$i<count($categorias_old);$i++){
$cat = "UPDATE portfolio,categorias SET categoria='".$categorias[$i]."' WHERE user='".$_POST['user']."' AND categoria='".$categorias_old[$i]."'";
$consulta = mysql_query($cat,$con);
if(!$consulta){
$mensaje .= "Ha ocurrido un error al actualizar la categoria ".$categorias[$i].". Tendra que volver a actualizar estas categorias.<br><br>";
$mensaje.= "<br><br>Esta es la cadena que ha fallado: ".$cat;
}else{
$mensaje .= "La categoria ".$categorias_old[$i]." se ha modificado a ".$categorias[$i]." correctamente.<br><br>";
}
}
echo $mensaje;
}
El problema es que no se que hago mal que no se cambia, me da error, no se puede hacer un update en el que el campo set sea el mismo que da la condicion, aunque sean distintos?
Gracias!