Vamos por el principio:
Cita: He hecho una base de datos para mis usuarios, una para mis items y otro que es la de mi carrito, en la base de datos del carrito solo esta idCarrito, idUsuario, idItem y precio.
no cosigo hacer una sumatoria de todos los precios que le pertenezcan a cierto idItem que contenga en este el id del usuario que lo almacenó..
Esto es lo que se supone que quieres obtener. No queda muy claro si lo que necesitas es el total del carrito, el subtotal de cada producto, o alguna otra cosa, así que supondremos que se trata de ambas cosas a la vez: Subtotal y Total.
Bien, pero para lograr eso usas esto:
Código PHP:
if ( !empty( $arrUsuario ) ) {
// traemos el carrito correspondiente al usuario
$arrCarrito = array();
$query = "SELECT carrito.idCarrito, carrito.idNoticia, carrito.fAgregado, usuarios.IdUsuario, usuarios. usuario, noticias.titulo, noticias.precio
FROM `carrito`
INNER JOIN `usuarios` ON carrito.idUsuario = usuarios.idUsuario
INNER JOIN `noticias` ON carrito.idNoticia = noticias.idNoticia
WHERE noticias.idUsuario = " . $arrUsuario['idUsuario'] ."
ORDER BY carrito.fAgregado DESC";
$resultado = mysql_query ($query, $dbConn);
while ( $row = mysql_fetch_assoc ($resultado)) {
array_push( $arrCarrito,$row );
}
Si extraigo de allí la consulta (una vez limpiada) tenemos:
Código MySQL:
Ver original C.idCarrito,
C.idNoticia,
C.fAgregado,
U.IdUsuario,
U. usuario,
N.titulo,
N.precio
WHERE N.idUsuario
= " . $arrUsuario['idUsuario'] ."
De esta consulta surgen algunas dudas, como por ejemplo, ¿qué representa "Noticia" y por qué se llama así?
Otra cosa que no queda clara es que en un carrito puede entrar más de una vez el mismo producto, porque en ese caso habría que realizar un agrupamiento por su ID de producto.
Hay algunas cosas que no tienen mucho sentido, pero si suponemos que un mismo producto entra más de una vez, la consulta sería:
Código MySQL:
Ver original C.idCarrito,
C.idNoticia,
U.IdUsuario,
U. usuario,
N.titulo,
N.precio,
WHERE N.idUsuario
= " . $arrUsuario['idUsuario'] ."
Eso daría una columna de subtotales, que puedes procesar, o bien para obtener un registro final con la suma tottal:
Código MySQL:
Ver original C.idCarrito,
C.idNoticia,
U.IdUsuario,
U. usuario,
N.titulo,
N.precio,
WHERE N.idUsuario
= " . $arrUsuario['idUsuario'] ."
Es un poco más complicada de resultado, pero la idea sería esa.
En cualquier caso, hay cosas que no quedan muy claras, pero lo que te dice @Dalam es una solución práctica. Aunque bien debes tener en cuenta que podrías obtener la suma total simplemente:
Código MySQL:
Ver original C.idCarrito,
U.IdUsuario,
U. usuario,
WHERE N.idUsuario
= " . $arrUsuario['idUsuario'] ."
y leer el array resultante...