Moin,
ich würde das einfach über Trigger lösen, MySQL5 sollte das können. Der Trigger ist ungetestet, sollte aber so funktionieren:
DELIMITER |
CREATE TRIGGER trg_ActiveProduct
AFTER UPDATE ON products
FOR EACH ROW
BEGIN
IF NEW.products_quantity <=0 THEN
UPDATE products SET products_status = 0 WHERE products_id=NEW.products_id;
ELSEIF
NEW.products_quantity> 0 THEN
UPDATE products SET products_status = 1 WHERE products_id=NEW.products_id;
END IF
END|
DELIMITER ;
Evtl. geht auch dieser hier, müsste getestet werden. Sollte er gehen, ist er natürlich schneller als der Erste.
DELIMITER |
CREATE TRIGGER trg_ActiveProduct
BEFORE UPDATE ON products
FOR EACH ROW
BEGIN
IF NEW.products_quantity <=0 THEN
SET NEW.products_status = 0;
ELSEIF
NEW.products_quantity> 0 THEN
SET NEW.products_status = 1;
END IF
END|
DELIMITER ;
Und schon regelt die Datenbank selber, ob ein Produkt aktiv ist oder nicht
MySQL 3 und 4 Nutzer schauen da leider in die Röhre. Andererseits könnte man den Befehl von oben ja auch in die PHP-Datei mit aufnehmen, die für das Herunterzählen zuständig ist...
gruß
kopfpilot