Hallo allemaal,

Ik probeer dmv een Query uit te rekenen hoeveel vrije ruimte er nog is.
Alleen wanneer er geen bestanden zijn toegevoegd geeft hij niks terug,
terwijl dat natuurlijk niet klopt.
Want dan zou hij gewoon de totaale ruimte moeten weergeven die bij die gebruiker staat.
Iemand enig idee hoe ik dat kan oplossen?
Dacht zelf aan een IF binnen mn Query maar heb geen idee hoe ik dat het beste kan doen.

Query:
<?
mysql_query("
SELECT
gebruikers.ruimte - SUM(bestanden.bestand_grootte)
AS
vrijeruimte
FROM
gebruikers,
bestanden
WHERE
gebruikers.id = '".$_SESSION['id']."'
AND
bestanden.id_gebruikers = '".$_SESSION['id']."'")
or die(mysql_error());
?>

[edit] 1337 Posts ^^[/edit]
Ik denk dat dat met een left join moet werken (maar niet getest..)


"SELECT gebruikers.ruimte - SUM(bestanden.bestand_grootte) AS vrijeruimte
FROM gebruikers LEFT JOIN bestanden ON gebruikers.id = bestanden.id_gebruikers
WHERE gebruikers.id = '".$_SESSION['id']."'"


Edit:

http://www.w3schools.com/sql/sql_join.asp
Ik heb geprobeerd wat jij bedoelde Pholeron, maar dat gaf helaas hetzelfde resultaat als je Query hierboven. Zodra er niks valt op te tellen geeft hij niks weer bij "vrijeruimte", iemand een ander idee hoe ik dat kan doen dmv 1 Query?

Deze Query gebruikte ik btw:

<?
$query = mysql_query("
SELECT
gebruikers.ruimte
-
SUM(bestanden.bestand_grootte)
AS
vrijeruimte
FROM
gebruikers
LEFT JOIN
bestanden
ON
gebruikers.id = bestanden.id_gebruikers
WHERE
gebruikers.id = '".$_SESSION['id']."'")
or die(mysql_error());
?>

[edit]

Heb het opgelost dmv IFNULL() :

<?
$query = mysql_query("
SELECT
gebruikers.ruimte
-
IFNULL(SUM(bestanden.bestand_grootte), 0)
AS
vrijeruimte
FROM
gebruikers
LEFT JOIN
bestanden
ON
gebruikers.id = bestanden.id_gebruikers
WHERE
gebruikers.id = '".$_SESSION['id']."'")
or die(mysql_error());
?>
[/edit]

Reageren